time="2025-04-28T12:22:22Z" 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-authorization-1 Creating Container integration-test-federation-1 Creating Container integration-test-device-1 Creating Container integration-test-authentication-1 Creating Container integration-test-experiment-1 Creating Container integration-test-gateway-1 Creating Container integration-test-device-1 Created Container integration-test-federation-1 Created Container integration-test-experiment-1 Created Container integration-test-gateway-1 Created Container integration-test-authentication-1 Created Container integration-test-authorization-1 Created Attaching to authentication-1, authorization-1, device-1, experiment-1, federation-1, gateway-1 gateway-1 | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration gateway-1 | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh gateway-1 | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf gateway-1 | 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf gateway-1 | /docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-create_config.sh gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/authorization_service.conf to /etc/nginx/authorization_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/lti_service.conf to /etc/nginx/lti_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/nginx.conf to /etc/nginx/nginx.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/device_service.conf to /etc/nginx/device_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/experiment_service.conf to /etc/nginx/experiment_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/auth_service.conf to /etc/nginx/auth_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/federation_service.conf to /etc/nginx/federation_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_json_errors.conf to /etc/nginx/api_json_errors.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_backends.conf to /etc/nginx/api_backends.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_gateway.conf to /etc/nginx/api_gateway.conf gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh gateway-1 | /docker-entrypoint.sh: Configuration complete; ready for start up federation-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authorization-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} federation-1 | {"level":"info","message":"Federation Service started successfully"} authorization-1 | {"addrs":["localhost:3011"],"diagnostic-addrs":[],"level":"info","msg":"Initializing server.","subsystem":"opa","time":"2025-04-28T12:23:08Z"} authentication-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} experiment-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authentication-1 | {"level":"info","message":"Authentication Service started successfully"} authorization-1 | {"client_addr":"127.0.0.1:51468","level":"info","msg":"Received request.","req_id":1,"req_method":"GET","req_path":"/","subsystem":"opa","time":"2025-04-28T12:23:08Z"} authorization-1 | {"client_addr":"127.0.0.1:51468","level":"info","msg":"Sent response.","req_id":1,"req_method":"GET","req_path":"/","resp_bytes":1424,"resp_duration":0.252298,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:08Z"} experiment-1 | {"level":"info","message":"Experiment Service started successfully"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿงช experimental features enabled: []","subsystem":"openfga","timestamp":1745842988.9153008} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"using 'memory' storage engine","subsystem":"openfga","timestamp":1745842988.9153802} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"authentication is disabled","subsystem":"openfga","timestamp":1745842988.9154105} 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":1745842988.9154394} 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":1745842988.9154649} 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":1745842988.915512,"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":1745842988.91605} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"HTTP server listening on 'localhost:3013'...","subsystem":"openfga","timestamp":1745842988.91724} 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:50198","raw_request":{"name":"crosslab"},"raw_response":{"created_at":"2025-04-28T12:23:08.930284839Z","id":"01JSY5KSW2PTP8DJERCS1CGEY3","name":"crosslab","updated_at":"2025-04-28T12:23:08.930284839Z"},"request_id":"1ee84176-3e67-4ad6-9555-695e1eb9f993","subsystem":"openfga","timestamp":1745842988.930374} device-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} 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:50198","raw_request":{"schema_version":"1.1","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_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":"01JSY5KSXQC546VTSQP7YKSRZX"},"request_id":"2fa50302-ac50-451a-86a2-a0bc508d0998","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745842988.9835625} authorization-1 | {"client_addr":"127.0.0.1:51468","level":"info","msg":"Received request.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","subsystem":"opa","time":"2025-04-28T12:23:09Z"} authorization-1 | {"client_addr":"127.0.0.1:51468","level":"info","msg":"Sent response.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","resp_bytes":0,"resp_duration":0.272316,"resp_status":204,"subsystem":"opa","time":"2025-04-28T12:23:09Z"} authorization-1 | {"level":"info","message":"Authorization Service started successfully"} device-1 | {"level":"info","message":"Device Service started successfully"} authorization-1 | {"current_version":"0.54.0","download_opa":"https://openpolicyagent.org/downloads/v1.3.0/opa_linux_amd64","latest_version":"1.3.0","level":"info","msg":"OPA is out of date.","release_notes":"https://github.com/open-policy-agent/opa/releases/tag/v1.3.0","subsystem":"opa","time":"2025-04-28T12:23:09Z"} gateway-1 | {"time_local":"28/Apr/2025:12:23:28 +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.035","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"dfb8d8a2c1d14bc18295968c81018e67"} authentication-1 | {"level":"info","message":"HEAD /auth/status 200 7ms","method":"HEAD","requestID":"dfb8d8a2c1d14bc18295968c81018e67","responseTime":7,"status":200,"url":"/auth/status"} gateway-1 | {"time_local":"28/Apr/2025:12:23:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /device/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.010","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"d515e076693375919c204ec18ef027ba"} device-1 | {"level":"info","message":"HEAD /device/status 200 6ms","method":"HEAD","requestID":"96dd8920-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/device/status"} gateway-1 | {"time_local":"28/Apr/2025:12:23:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /authorization/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.007","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"a827972061f01c1f8eecb943261328e9"} authorization-1 | {"level":"info","message":"HEAD /authorization/status 200 4ms","method":"HEAD","requestID":"a827972061f01c1f8eecb943261328e9","responseTime":4,"status":200,"url":"/authorization/status"} gateway-1 | {"time_local":"28/Apr/2025:12:23:28 +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.009","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"b48a07308a1829c30744660c738f73bd"} federation-1 | {"level":"info","message":"HEAD /federation/status 200 27ms","method":"HEAD","requestID":"96e57860-242b-11f0-a285-77d15eb2e431","responseTime":27,"status":200,"url":"/federation/status"} gateway-1 | {"time_local":"28/Apr/2025:12:23:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /experiment/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.012","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"20263de44b006308b1e23d9c1179975e"} experiment-1 | {"level":"info","message":"HEAD /experiment/status 200 7ms","method":"HEAD","requestID":"96eb44c0-242b-11f0-a3cb-7fbb9efcd1ed","responseTime":7,"status":200,"url":"/experiment/status"} gateway-1 | {"time_local":"28/Apr/2025:12:23:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /login HTTP/1.1","status": "201","body_bytes_sent":"88","request_time":"0.196","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c30a6441c3e5f3c51dc9b5bc1459e76c"} authentication-1 | {"level":"info","message":"POST /login 201 159ms","method":"POST","requestID":"c30a6441c3e5f3c51dc9b5bc1459e76c","responseTime":159,"status":201,"url":"/login"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAxNX0.IDVRkZhmIZVo-IU7jwDNDDwbo4Z1p8AzUfWy1R06_2U","level":"info","message":"auth send jwt","requestID":"064f7f6c2350f1c137e177b4b79f8669"} authentication-1 | {"level":"info","message":"GET /auth 200 50ms","method":"GET","requestID":"064f7f6c2350f1c137e177b4b79f8669","responseTime":50,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"064f7f6c2350f1c137e177b4b79f8669"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Received request.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:35Z"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Sent response.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.160749,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"064f7f6c2350f1c137e177b4b79f8669","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843015,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAxNX0.IDVRkZhmIZVo-IU7jwDNDDwbo4Z1p8AzUfWy1R06_2U"} authorization-1 | {"level":"info","message":"POST /authorize 200 37ms","method":"POST","requestID":"064f7f6c2350f1c137e177b4b79f8669","responseTime":37,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd99b6c-f1d1-417c-9662-d723b2e95bd9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b6e71d29-454f-42a3-974c-34f92be2eefd","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843016.0045996} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"064f7f6c2350f1c137e177b4b79f8669","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"47b02d6a-ea49-44be-a7a2-a9fff0197a0b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843016.0398176} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"064f7f6c2350f1c137e177b4b79f8669","responseTime":8,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd99b6c-f1d1-417c-9662-d723b2e95bd9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"5b4778b3-f290-42f8-a0c7-f475daedb2e7","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843016.0564384} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ee0dbf35-e062-45d2-a1fe-3bd3c1de9fcb","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843016.0570307} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"064f7f6c2350f1c137e177b4b79f8669","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd99b6c-f1d1-417c-9662-d723b2e95bd9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd99b6c-f1d1-417c-9662-d723b2e95bd9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:36.056408188Z"}]},"request_id":"140fb8ab-32f5-4a05-a06e-d8156dcd42c2","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843016.0646384} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"064f7f6c2350f1c137e177b4b79f8669","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"064f7f6c2350f1c137e177b4b79f8669"} gateway-1 | {"time_local":"28/Apr/2025:12:23:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.277","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"064f7f6c2350f1c137e177b4b79f8669"} device-1 | {"level":"info","message":"POST /devices? 201 215ms","method":"POST","requestID":"064f7f6c2350f1c137e177b4b79f8669","responseTime":215,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAxNn0.YSkcGzBNjDJLI6ZjjBsCGXfN50I5jFBFLDnPYtPJYOo","level":"info","message":"auth send jwt","requestID":"b13c1d8f148824dfa7e6fba641c936ef"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b13c1d8f148824dfa7e6fba641c936ef","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b13c1d8f148824dfa7e6fba641c936ef"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Received request.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:36Z"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Sent response.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.742592,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b13c1d8f148824dfa7e6fba641c936ef","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843016,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAxNn0.YSkcGzBNjDJLI6ZjjBsCGXfN50I5jFBFLDnPYtPJYOo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b13c1d8f148824dfa7e6fba641c936ef","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea65e0c1-6d96-465b-b351-1af44c74ea26","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8de0f779-ecc5-4da9-868a-75ca20767231","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843016.126953} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b13c1d8f148824dfa7e6fba641c936ef","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dbe2c51d-1a31-4a71-ab7a-5327ea5a74c3","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843016.1353376} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"b13c1d8f148824dfa7e6fba641c936ef","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea65e0c1-6d96-465b-b351-1af44c74ea26","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"26d5942e-bbc7-47d9-97e5-109dd610732b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843016.1474893} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fa26e7db-557f-48c7-85a3-5320fea31686","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843016.1476753} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"b13c1d8f148824dfa7e6fba641c936ef","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea65e0c1-6d96-465b-b351-1af44c74ea26","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea65e0c1-6d96-465b-b351-1af44c74ea26","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:36.147479123Z"}]},"request_id":"64d68857-fbbc-4eb2-bf34-155c917ce961","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843016.1554756} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b13c1d8f148824dfa7e6fba641c936ef","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b13c1d8f148824dfa7e6fba641c936ef"} gateway-1 | {"time_local":"28/Apr/2025:12:23:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.077","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b13c1d8f148824dfa7e6fba641c936ef"} device-1 | {"level":"info","message":"POST /devices? 201 70ms","method":"POST","requestID":"b13c1d8f148824dfa7e6fba641c936ef","responseTime":70,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"059c9ba2f080e6699c5ac02c24734b60","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"059c9ba2f080e6699c5ac02c24734b60","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"789d4e776aabb1bcfe3dadee24649fb3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"789d4e776aabb1bcfe3dadee24649fb3","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:23:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9/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":"059c9ba2f080e6699c5ac02c24734b60"} device-1 | {"level":"info","message":"OPTIONS /devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9/websocket 200 2ms","method":"OPTIONS","requestID":"059c9ba2f080e6699c5ac02c24734b60","responseTime":2,"status":200,"url":"/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:23:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ea65e0c1-6d96-465b-b351-1af44c74ea26/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.008","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"789d4e776aabb1bcfe3dadee24649fb3"} device-1 | {"level":"info","message":"OPTIONS /devices/ea65e0c1-6d96-465b-b351-1af44c74ea26/websocket 200 1ms","method":"OPTIONS","requestID":"789d4e776aabb1bcfe3dadee24649fb3","responseTime":1,"status":200,"url":"/devices/ea65e0c1-6d96-465b-b351-1af44c74ea26/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAxOH0.LFJP6Fx0VVILzkuhKqhnHNLzNgfdSyUt8NEVxEEBfKY","level":"info","message":"auth send jwt","requestID":"ed375946a9a07b48aac0edcacc3694f9"} authentication-1 | {"level":"info","message":"GET /auth 200 11ms","method":"GET","requestID":"ed375946a9a07b48aac0edcacc3694f9","responseTime":11,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAxOH0.LFJP6Fx0VVILzkuhKqhnHNLzNgfdSyUt8NEVxEEBfKY","level":"info","message":"auth send jwt","requestID":"7978c6685aad85dfe1075ce89ccb5ed6"} authentication-1 | {"level":"info","message":"GET /auth 200 10ms","method":"GET","requestID":"7978c6685aad85dfe1075ce89ccb5ed6","responseTime":10,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"ed375946a9a07b48aac0edcacc3694f9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"7978c6685aad85dfe1075ce89ccb5ed6"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Received request.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:38Z"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Sent response.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.545458,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ed375946a9a07b48aac0edcacc3694f9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843018,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAxOH0.LFJP6Fx0VVILzkuhKqhnHNLzNgfdSyUt8NEVxEEBfKY"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"ed375946a9a07b48aac0edcacc3694f9","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:38Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.133381,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea65e0c1-6d96-465b-b351-1af44c74ea26","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"7978c6685aad85dfe1075ce89ccb5ed6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/ea65e0c1-6d96-465b-b351-1af44c74ea26","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843018,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAxOH0.LFJP6Fx0VVILzkuhKqhnHNLzNgfdSyUt8NEVxEEBfKY"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"7978c6685aad85dfe1075ce89ccb5ed6","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"7978c6685aad85dfe1075ce89ccb5ed6"} gateway-1 | {"time_local":"28/Apr/2025:12:23:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ea65e0c1-6d96-465b-b351-1af44c74ea26/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":"7978c6685aad85dfe1075ce89ccb5ed6"} device-1 | {"level":"info","message":"POST /devices/ea65e0c1-6d96-465b-b351-1af44c74ea26/websocket 200 35ms","method":"POST","requestID":"7978c6685aad85dfe1075ce89ccb5ed6","responseTime":35,"status":200,"url":"/devices/ea65e0c1-6d96-465b-b351-1af44c74ea26/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"ed375946a9a07b48aac0edcacc3694f9"} gateway-1 | {"time_local":"28/Apr/2025:12:23:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.071","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ed375946a9a07b48aac0edcacc3694f9"} device-1 | {"level":"info","message":"POST /devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9/websocket 200 57ms","method":"POST","requestID":"ed375946a9a07b48aac0edcacc3694f9","responseTime":57,"status":200,"url":"/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ea65e0c1-6d96-465b-b351-1af44c74ea26' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAxOH0.LFJP6Fx0VVILzkuhKqhnHNLzNgfdSyUt8NEVxEEBfKY","level":"info","message":"auth send jwt","requestID":"6f702d067a53712e0e50e77f1b479f2c"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6f702d067a53712e0e50e77f1b479f2c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6f702d067a53712e0e50e77f1b479f2c"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:38Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.914566,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"6f702d067a53712e0e50e77f1b479f2c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843018,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAxOH0.LFJP6Fx0VVILzkuhKqhnHNLzNgfdSyUt8NEVxEEBfKY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6f702d067a53712e0e50e77f1b479f2c","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd99b6c-f1d1-417c-9662-d723b2e95bd9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd99b6c-f1d1-417c-9662-d723b2e95bd9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:36.056408188Z"}]},"request_id":"d0366702-a540-407f-b779-5d43dd63ea09","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843018.8863533} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6f702d067a53712e0e50e77f1b479f2c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6f702d067a53712e0e50e77f1b479f2c"} gateway-1 | {"time_local":"28/Apr/2025:12:23:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6f702d067a53712e0e50e77f1b479f2c"} device-1 | {"level":"info","message":"GET /devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9? 200 47ms","method":"GET","requestID":"6f702d067a53712e0e50e77f1b479f2c","responseTime":47,"status":200,"url":"/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAxOH0.LFJP6Fx0VVILzkuhKqhnHNLzNgfdSyUt8NEVxEEBfKY","level":"info","message":"auth send jwt","requestID":"ad68f281d38a916e163bb51b96b79fdb"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ad68f281d38a916e163bb51b96b79fdb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ad68f281d38a916e163bb51b96b79fdb"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:38Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.871521,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea65e0c1-6d96-465b-b351-1af44c74ea26","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ad68f281d38a916e163bb51b96b79fdb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/ea65e0c1-6d96-465b-b351-1af44c74ea26","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843018,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAxOH0.LFJP6Fx0VVILzkuhKqhnHNLzNgfdSyUt8NEVxEEBfKY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ad68f281d38a916e163bb51b96b79fdb","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea65e0c1-6d96-465b-b351-1af44c74ea26","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea65e0c1-6d96-465b-b351-1af44c74ea26","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:36.147479123Z"}]},"request_id":"4d88cf52-35e9-4be8-ba09-ad63ca9db7a2","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843018.9364004} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"ad68f281d38a916e163bb51b96b79fdb","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ad68f281d38a916e163bb51b96b79fdb"} gateway-1 | {"time_local":"28/Apr/2025:12:23:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ea65e0c1-6d96-465b-b351-1af44c74ea26? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ad68f281d38a916e163bb51b96b79fdb"} device-1 | {"level":"info","message":"GET /devices/ea65e0c1-6d96-465b-b351-1af44c74ea26? 200 39ms","method":"GET","requestID":"ad68f281d38a916e163bb51b96b79fdb","responseTime":39,"status":200,"url":"/devices/ea65e0c1-6d96-465b-b351-1af44c74ea26?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAxOH0.LFJP6Fx0VVILzkuhKqhnHNLzNgfdSyUt8NEVxEEBfKY","level":"info","message":"auth send jwt","requestID":"ee22a5f3e88dc1057d678412ea910dc4"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ee22a5f3e88dc1057d678412ea910dc4","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"ee22a5f3e88dc1057d678412ea910dc4"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:39Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.807676,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ee22a5f3e88dc1057d678412ea910dc4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843018,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAxOH0.LFJP6Fx0VVILzkuhKqhnHNLzNgfdSyUt8NEVxEEBfKY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ee22a5f3e88dc1057d678412ea910dc4","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c"},"level":"info","message":"Attempting to run experiment","requestID":"ee22a5f3e88dc1057d678412ea910dc4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c"},"level":"info","message":"Attempting to book experiment","requestID":"ee22a5f3e88dc1057d678412ea910dc4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c"},"level":"info","message":"Successfully booked experiment","requestID":"ee22a5f3e88dc1057d678412ea910dc4"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9d6e2380-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9d6e71a0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:39Z"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Received request.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:39Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.433293,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9d6e2380-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843018,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAxOH0.LFJP6Fx0VVILzkuhKqhnHNLzNgfdSyUt8NEVxEEBfKY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"9d6e2380-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Sent response.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.679848,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea65e0c1-6d96-465b-b351-1af44c74ea26","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9d6e71a0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/ea65e0c1-6d96-465b-b351-1af44c74ea26","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843018,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAxOH0.LFJP6Fx0VVILzkuhKqhnHNLzNgfdSyUt8NEVxEEBfKY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"9d6e71a0-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd99b6c-f1d1-417c-9662-d723b2e95bd9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd99b6c-f1d1-417c-9662-d723b2e95bd9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:36.056408188Z"}]},"request_id":"3031b882-0a0a-4378-aabb-f7876e1f7f5b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843019.205744} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"9d6e2380-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea65e0c1-6d96-465b-b351-1af44c74ea26","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea65e0c1-6d96-465b-b351-1af44c74ea26","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:36.147479123Z"}]},"request_id":"4b9745e9-1406-464b-9e86-85a57706e5c5","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843019.2071083} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"9d6e71a0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9d6e2380-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9? 200 21ms","method":"GET","requestID":"9d6e2380-242b-11f0-a4ab-3996a0934271","responseTime":21,"status":200,"url":"/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9d6e71a0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/ea65e0c1-6d96-465b-b351-1af44c74ea26? 200 20ms","method":"GET","requestID":"9d6e71a0-242b-11f0-a4ab-3996a0934271","responseTime":20,"status":200,"url":"/devices/ea65e0c1-6d96-465b-b351-1af44c74ea26?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c"},"level":"info","message":"Setting up experiment","requestID":"ee22a5f3e88dc1057d678412ea910dc4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"ee22a5f3e88dc1057d678412ea910dc4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c"},"level":"info","message":"Successfully locked booking for experiment","requestID":"ee22a5f3e88dc1057d678412ea910dc4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"ee22a5f3e88dc1057d678412ea910dc4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"ee22a5f3e88dc1057d678412ea910dc4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c"},"level":"info","message":"Attempting to update booking for experiment","requestID":"ee22a5f3e88dc1057d678412ea910dc4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c"},"level":"info","message":"Successfully updated booking for experiment","requestID":"ee22a5f3e88dc1057d678412ea910dc4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c"},"level":"info","message":"Successfully set up experiment","requestID":"ee22a5f3e88dc1057d678412ea910dc4"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9d881420-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9d886240-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Received request.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:39Z"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Sent response.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.697764,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:39Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:39Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c"},"level":"info","message":"Successfully running experiment","requestID":"ee22a5f3e88dc1057d678412ea910dc4"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9d881420-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843018,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAxOH0.LFJP6Fx0VVILzkuhKqhnHNLzNgfdSyUt8NEVxEEBfKY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9d881420-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.628803,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:39Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9d88b060-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea65e0c1-6d96-465b-b351-1af44c74ea26","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9d886240-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/ea65e0c1-6d96-465b-b351-1af44c74ea26","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843018,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAxOH0.LFJP6Fx0VVILzkuhKqhnHNLzNgfdSyUt8NEVxEEBfKY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9d886240-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:39Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd99b6c-f1d1-417c-9662-d723b2e95bd9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"363112a0-fca6-474b-80cd-ed96cb099468","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843019.375627} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd99b6c-f1d1-417c-9662-d723b2e95bd9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd99b6c-f1d1-417c-9662-d723b2e95bd9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:36.056408188Z"}]},"request_id":"63e7b2a8-b32a-41c1-8446-113b94b49dfe","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843019.3772287} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.213836,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9d88b060-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9","object_type":"device","rebac_allow":false,"scope_allow":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":"9d88b060-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea65e0c1-6d96-465b-b351-1af44c74ea26","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea65e0c1-6d96-465b-b351-1af44c74ea26","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:36.147479123Z"}]},"request_id":"0af2bfcc-ecb6-4f50-b785-16536a60b016","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843019.3783915} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"9d881420-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"9d886240-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1fda6e17-32c0-48f1-ba4a-6f56a8d5852c#owner@http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1fda6e17-32c0-48f1-ba4a-6f56a8d5852c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"c070853e-3060-4924-9ac3-65e439ef5d1b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843019.3852239} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b10f5120-39db-486e-81b3-f9faef901870","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843019.3855143} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9d88b060-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9/signaling 200 23ms","method":"POST","requestID":"9d88b060-242b-11f0-a4ab-3996a0934271","responseTime":23,"status":200,"url":"/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9d881420-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"ee22a5f3e88dc1057d678412ea910dc4","responseTime":19,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9? 200 29ms","method":"GET","requestID":"9d881420-242b-11f0-a4ab-3996a0934271","responseTime":29,"status":200,"url":"/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9d886240-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/ea65e0c1-6d96-465b-b351-1af44c74ea26? 200 28ms","method":"GET","requestID":"9d886240-242b-11f0-a4ab-3996a0934271","responseTime":28,"status":200,"url":"/devices/ea65e0c1-6d96-465b-b351-1af44c74ea26?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9d8ccf10-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:39Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea65e0c1-6d96-465b-b351-1af44c74ea26","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cff58e35-9b3b-40d9-8f97-ca02315e8eba","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843019.398517} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.330044,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea65e0c1-6d96-465b-b351-1af44c74ea26","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9d8ccf10-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ea65e0c1-6d96-465b-b351-1af44c74ea26","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9d8ccf10-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9d8e0790-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:39Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c","user":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"ee22a5f3e88dc1057d678412ea910dc4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9d8ccf10-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd99b6c-f1d1-417c-9662-d723b2e95bd9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8794522c-1184-4e54-8b1f-ff6dd9889f9d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843019.4058137} device-1 | {"level":"info","message":"POST /devices/ea65e0c1-6d96-465b-b351-1af44c74ea26/signaling 200 12ms","method":"POST","requestID":"9d8ccf10-242b-11f0-a4ab-3996a0934271","responseTime":12,"status":200,"url":"/devices/ea65e0c1-6d96-465b-b351-1af44c74ea26/signaling"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.87986,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9d8e0790-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"9d8e0790-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"28/Apr/2025:12:23:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.438","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ee22a5f3e88dc1057d678412ea910dc4"} experiment-1 | {"level":"info","message":"POST /experiments? 201 424ms","method":"POST","requestID":"ee22a5f3e88dc1057d678412ea910dc4","responseTime":424,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9d8e0790-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9/signaling 200 9ms","method":"POST","requestID":"9d8e0790-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9d900360-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:39Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAxOX0.XKoOy1rV4MnFC88DITBEiMmNQeAZ0hyFRhob8B0gkiI","level":"info","message":"auth send jwt","requestID":"b61f3c44f46dd61df59836b577444beb"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"b61f3c44f46dd61df59836b577444beb","responseTime":6,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea65e0c1-6d96-465b-b351-1af44c74ea26","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cec432b4-7082-45b1-9da3-7c0e6cccb878","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843019.4201305} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b61f3c44f46dd61df59836b577444beb"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Received request.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:39Z"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Sent response.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":20.640308,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:39Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":28.269116,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b61f3c44f46dd61df59836b577444beb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843019,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAxOX0.XKoOy1rV4MnFC88DITBEiMmNQeAZ0hyFRhob8B0gkiI"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"b61f3c44f46dd61df59836b577444beb","responseTime":26,"status":200,"url":"/authorize"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea65e0c1-6d96-465b-b351-1af44c74ea26","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9d900360-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ea65e0c1-6d96-465b-b351-1af44c74ea26","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"9d900360-242b-11f0-a4ab-3996a0934271","responseTime":32,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9d900360-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/ea65e0c1-6d96-465b-b351-1af44c74ea26/signaling 200 37ms","method":"POST","requestID":"9d900360-242b-11f0-a4ab-3996a0934271","responseTime":37,"status":200,"url":"/devices/ea65e0c1-6d96-465b-b351-1af44c74ea26/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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd99b6c-f1d1-417c-9662-d723b2e95bd9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd99b6c-f1d1-417c-9662-d723b2e95bd9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:36.056408188Z"}]},"request_id":"3b7d1124-0b13-494a-bbd3-31d22f5866e9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843019.4511728} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b61f3c44f46dd61df59836b577444beb","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"ee22a5f3e88dc1057d678412ea910dc4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c"},"level":"info","message":"Building connection plan","requestID":"ee22a5f3e88dc1057d678412ea910dc4"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"6e5d9ceb-e36e-4a86-8833-0a8b07e9a89b"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"22a3c2f5-94bb-4840-840b-ad537b84b7ed"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"dc052254-8ee5-431c-a9b8-bb809202513d"}]},"level":"info","message":"Built pairwise service configurations","requestID":"ee22a5f3e88dc1057d678412ea910dc4"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/ea65e0c1-6d96-465b-b351-1af44c74ea26"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"ee22a5f3e88dc1057d678412ea910dc4"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b61f3c44f46dd61df59836b577444beb"} gateway-1 | {"time_local":"28/Apr/2025:12:23:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b61f3c44f46dd61df59836b577444beb"} device-1 | {"level":"info","message":"GET /devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9? 200 36ms","method":"GET","requestID":"b61f3c44f46dd61df59836b577444beb","responseTime":36,"status":200,"url":"/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"9d970840-242b-11f0-a4ab-3996a0934271"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAxOX0.XKoOy1rV4MnFC88DITBEiMmNQeAZ0hyFRhob8B0gkiI","level":"info","message":"auth send jwt","requestID":"15d08b1e7711466e20cbe095fe5d59e9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"15d08b1e7711466e20cbe095fe5d59e9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"15d08b1e7711466e20cbe095fe5d59e9"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:39Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.669127,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:39Z"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Received request.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9d970840-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843018,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAxOH0.LFJP6Fx0VVILzkuhKqhnHNLzNgfdSyUt8NEVxEEBfKY"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"9d970840-242b-11f0-a4ab-3996a0934271","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Sent response.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.546844,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea65e0c1-6d96-465b-b351-1af44c74ea26","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"15d08b1e7711466e20cbe095fe5d59e9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/ea65e0c1-6d96-465b-b351-1af44c74ea26","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843019,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAxOX0.XKoOy1rV4MnFC88DITBEiMmNQeAZ0hyFRhob8B0gkiI"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"15d08b1e7711466e20cbe095fe5d59e9","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea65e0c1-6d96-465b-b351-1af44c74ea26","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea65e0c1-6d96-465b-b351-1af44c74ea26","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:36.147479123Z"}]},"request_id":"96ecec80-3d41-45f8-bca9-3795fa90c303","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843019.4951742} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"15d08b1e7711466e20cbe095fe5d59e9","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"15d08b1e7711466e20cbe095fe5d59e9"} gateway-1 | {"time_local":"28/Apr/2025:12:23:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ea65e0c1-6d96-465b-b351-1af44c74ea26? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"15d08b1e7711466e20cbe095fe5d59e9"} device-1 | {"level":"info","message":"GET /devices/ea65e0c1-6d96-465b-b351-1af44c74ea26? 200 39ms","method":"GET","requestID":"15d08b1e7711466e20cbe095fe5d59e9","responseTime":39,"status":200,"url":"/devices/ea65e0c1-6d96-465b-b351-1af44c74ea26?"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","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%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"08c5e8c0-b59c-420d-a82a-f2837e9ccadf","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843019.5397255} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e066c625-9010-436e-b714-cbabf1beed84","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843019.5400848} authorization-1 | {"level":"info","message":"POST /relations/update 200 43ms","method":"POST","requestID":"9d970840-242b-11f0-a4ab-3996a0934271","responseTime":43,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"9d970840-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"9d970840-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/b3177aa2-27b6-405d-b266-ba2576e80dc4'","requestID":"9d970840-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/b3177aa2-27b6-405d-b266-ba2576e80dc4'","requestID":"9d970840-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"9d970840-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 99ms","method":"POST","requestID":"9d970840-242b-11f0-a4ab-3996a0934271","responseTime":99,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"9d970840-242b-11f0-a4ab-3996a0934271"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/b3177aa2-27b6-405d-b266-ba2576e80dc4","device":"ea65e0c1-6d96-465b-b351-1af44c74ea26","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/b3177aa2-27b6-405d-b266-ba2576e80dc4","device":"cdd99b6c-f1d1-417c-9662-d723b2e95bd9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"ee22a5f3e88dc1057d678412ea910dc4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9dadeba0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Received request.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:39Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd99b6c-f1d1-417c-9662-d723b2e95bd9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b34d8a1a-656f-44fe-a153-b0cea779c3a7","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843019.6356356} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Sent response.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.739184,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9dadeba0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 25ms","method":"POST","requestID":"9dadeba0-242b-11f0-a4ab-3996a0934271","responseTime":25,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9dadeba0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9/signaling 200 30ms","method":"POST","requestID":"9dadeba0-242b-11f0-a4ab-3996a0934271","responseTime":30,"status":200,"url":"/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9db2f4b0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Received request.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:39Z"} device-1 | {"device":"ea65e0c1-6d96-465b-b351-1af44c74ea26","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"ea65e0c1-6d96-465b-b351-1af44c74ea26","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea65e0c1-6d96-465b-b351-1af44c74ea26","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a91ab588-23fd-4909-87b3-8d0757ebf044","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843019.6492767} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Sent response.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.101206,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea65e0c1-6d96-465b-b351-1af44c74ea26","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9db2f4b0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ea65e0c1-6d96-465b-b351-1af44c74ea26","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"9db2f4b0-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"device":"cdd99b6c-f1d1-417c-9662-d723b2e95bd9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"cdd99b6c-f1d1-417c-9662-d723b2e95bd9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9db2f4b0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/ea65e0c1-6d96-465b-b351-1af44c74ea26/signaling 200 39ms","method":"POST","requestID":"9db2f4b0-242b-11f0-a4ab-3996a0934271","responseTime":39,"status":200,"url":"/devices/ea65e0c1-6d96-465b-b351-1af44c74ea26/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 5061265373953768384 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:gsym\r\na=ice-pwd:4SMVdpoWeQ0WMYwPvjgTQ05I\r\na=ice-options:trickle\r\na=fingerprint:sha-256 4F:0E:D5:5B:20:63:1E:2D:CB:DC:24:3E:10:72:B1:A4:BE:0B:C8:B5:39:24:AB:A2:14:B9:0A:9E:35:61:BD:E5\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"cdd99b6c-f1d1-417c-9662-d723b2e95bd9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9'"} device-1 | {"content":{"sdp":"v=0\r\no=- 6478941327165110944 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:66cj\r\na=ice-pwd:oneRUSly9iAjqjS8BrAiunDG\r\na=ice-options:trickle\r\na=fingerprint:sha-256 77:2B:3D:39:C2:17:0B:9E:F3:97:DC:9B:A0:F5:70:99:90:E6:D2:D2:BF:F6:6F:45:B5:4E:80:0A:53:BA:06: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":"ea65e0c1-6d96-465b-b351-1af44c74ea26","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3150158395 1 udp 2113937151 1a55550a-c8c5-40d6-9fa3-abf6eed4a790.local 47114 typ host generation 0 ufrag 66cj network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"ea65e0c1-6d96-465b-b351-1af44c74ea26","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/ea65e0c1-6d96-465b-b351-1af44c74ea26'"} device-1 | {"content":{"candidate":"candidate:2332463428 1 udp 2113937151 ec3c1ad5-b003-4d6e-872a-207afb79d7c1.local 60562 typ host generation 0 ufrag gsym network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"cdd99b6c-f1d1-417c-9662-d723b2e95bd9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"cdd99b6c-f1d1-417c-9662-d723b2e95bd9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"ea65e0c1-6d96-465b-b351-1af44c74ea26","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/b3177aa2-27b6-405d-b266-ba2576e80dc4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b3177aa2-27b6-405d-b266-ba2576e80dc4","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"cdd99b6c-f1d1-417c-9662-d723b2e95bd9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"cdd99b6c-f1d1-417c-9662-d723b2e95bd9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"ea65e0c1-6d96-465b-b351-1af44c74ea26","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"ea65e0c1-6d96-465b-b351-1af44c74ea26","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"ea65e0c1-6d96-465b-b351-1af44c74ea26","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"52cebdccc27497332b0dd6715e3aae37","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"52cebdccc27497332b0dd6715e3aae37","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/ea65e0c1-6d96-465b-b351-1af44c74ea26"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/b3177aa2-27b6-405d-b266-ba2576e80dc4"}}},"level":"info","message":"received a callback","requestID":"52cebdccc27497332b0dd6715e3aae37"} device-1 | {"data":{"peerconnection":"b3177aa2-27b6-405d-b266-ba2576e80dc4","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 37ms","method":"POST","requestID":"52cebdccc27497332b0dd6715e3aae37","responseTime":37,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:23: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":"52cebdccc27497332b0dd6715e3aae37"} device-1 | {"data":{"peerconnection":"b3177aa2-27b6-405d-b266-ba2576e80dc4","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/b3177aa2-27b6-405d-b266-ba2576e80dc4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b3177aa2-27b6-405d-b266-ba2576e80dc4","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d59110ae972f0f4977af4cfa9f64ac00","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d59110ae972f0f4977af4cfa9f64ac00","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/ea65e0c1-6d96-465b-b351-1af44c74ea26"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/b3177aa2-27b6-405d-b266-ba2576e80dc4"}}},"level":"info","message":"received a callback","requestID":"d59110ae972f0f4977af4cfa9f64ac00"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"9dd0b5e0-242b-11f0-a4ab-3996a0934271"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAxOX0.XKoOy1rV4MnFC88DITBEiMmNQeAZ0hyFRhob8B0gkiI","level":"info","message":"auth send jwt","requestID":"26839011561e17bfd67f99229aae5f7f"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Received request.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:39Z"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"26839011561e17bfd67f99229aae5f7f","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c","requestID":"26839011561e17bfd67f99229aae5f7f"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb3177aa2-27b6-405d-b266-ba2576e80dc4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d2c94796-730b-4101-8d50-77d27ea31f2e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843019.843726} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Sent response.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.514492,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b3177aa2-27b6-405d-b266-ba2576e80dc4","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9dd0b5e0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/b3177aa2-27b6-405d-b266-ba2576e80dc4","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":"9dd0b5e0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Received request.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:39Z"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"9dd0b5e0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Sent response.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.865562,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"26839011561e17bfd67f99229aae5f7f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843019,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAxOX0.XKoOy1rV4MnFC88DITBEiMmNQeAZ0hyFRhob8B0gkiI"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"26839011561e17bfd67f99229aae5f7f","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"GET /peerconnections/b3177aa2-27b6-405d-b266-ba2576e80dc4 200 35ms","method":"GET","requestID":"9dd0b5e0-242b-11f0-a4ab-3996a0934271","responseTime":35,"status":200,"url":"/peerconnections/b3177aa2-27b6-405d-b266-ba2576e80dc4"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c","requestID":"26839011561e17bfd67f99229aae5f7f"} gateway-1 | {"time_local":"28/Apr/2025:12:23:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"26839011561e17bfd67f99229aae5f7f"} experiment-1 | {"level":"info","message":"GET /experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c 200 46ms","method":"GET","requestID":"26839011561e17bfd67f99229aae5f7f","responseTime":46,"status":200,"url":"/experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 102ms","method":"POST","requestID":"d59110ae972f0f4977af4cfa9f64ac00","responseTime":102,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:23: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.105","http_referrer":"","http_user_agent":"node-fetch","requestID":"d59110ae972f0f4977af4cfa9f64ac00"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9ddf5be0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Received request.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:39Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea65e0c1-6d96-465b-b351-1af44c74ea26","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bf17b0a4-6a9a-4416-811a-f858518098b3","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843019.938783} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Sent response.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.233083,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea65e0c1-6d96-465b-b351-1af44c74ea26","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9ddf5be0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ea65e0c1-6d96-465b-b351-1af44c74ea26","object_type":"device","rebac_allow":false,"scope_allow":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":"9ddf5be0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9ddf5be0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/ea65e0c1-6d96-465b-b351-1af44c74ea26/signaling 200 10ms","method":"POST","requestID":"9ddf5be0-242b-11f0-a4ab-3996a0934271","responseTime":10,"status":200,"url":"/devices/ea65e0c1-6d96-465b-b351-1af44c74ea26/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9de50130-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Received request.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:39Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd99b6c-f1d1-417c-9662-d723b2e95bd9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"abacd937-2749-4efc-9359-0cf2e487e546","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843019.9754887} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Sent response.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.429135,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9de50130-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9de50130-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9de50130-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9/signaling 200 8ms","method":"POST","requestID":"9de50130-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAxOX0.XKoOy1rV4MnFC88DITBEiMmNQeAZ0hyFRhob8B0gkiI","level":"info","message":"auth send jwt","requestID":"9c8fe2015becb17375e97df21ba7f03f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9c8fe2015becb17375e97df21ba7f03f","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c","requestID":"9c8fe2015becb17375e97df21ba7f03f"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Received request.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:40Z"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Sent response.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.732885,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9c8fe2015becb17375e97df21ba7f03f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843019,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAxOX0.XKoOy1rV4MnFC88DITBEiMmNQeAZ0hyFRhob8B0gkiI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9c8fe2015becb17375e97df21ba7f03f","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c","requestID":"9c8fe2015becb17375e97df21ba7f03f"} gateway-1 | {"time_local":"28/Apr/2025:12:23:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.035","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9c8fe2015becb17375e97df21ba7f03f"} experiment-1 | {"level":"info","message":"GET /experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c 200 31ms","method":"GET","requestID":"9c8fe2015becb17375e97df21ba7f03f","responseTime":31,"status":200,"url":"/experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyMH0.awT0j65xlyXRx38k4FECg7Sa7MKLZfVrs4J4LiwG2LQ","level":"info","message":"auth send jwt","requestID":"78999d781e98e2e7e7d12d076ef2fea6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"78999d781e98e2e7e7d12d076ef2fea6","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c","requestID":"78999d781e98e2e7e7d12d076ef2fea6"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Received request.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:40Z"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Sent response.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.717252,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:40Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"78999d781e98e2e7e7d12d076ef2fea6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843020,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyMH0.awT0j65xlyXRx38k4FECg7Sa7MKLZfVrs4J4LiwG2LQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"78999d781e98e2e7e7d12d076ef2fea6","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c"},"level":"info","message":"Attempting to finish experiment","requestID":"78999d781e98e2e7e7d12d076ef2fea6"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"9df3f550-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Received request.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:40Z"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Sent response.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.289922,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:40Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b3177aa2-27b6-405d-b266-ba2576e80dc4","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9df3f550-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:http://localhost/peerconnections/b3177aa2-27b6-405d-b266-ba2576e80dc4","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843020,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyMH0.awT0j65xlyXRx38k4FECg7Sa7MKLZfVrs4J4LiwG2LQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9df3f550-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/b3177aa2-27b6-405d-b266-ba2576e80dc4","device":"ea65e0c1-6d96-465b-b351-1af44c74ea26","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/b3177aa2-27b6-405d-b266-ba2576e80dc4","device":"cdd99b6c-f1d1-417c-9662-d723b2e95bd9","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/b3177aa2-27b6-405d-b266-ba2576e80dc4' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/b3177aa2-27b6-405d-b266-ba2576e80dc4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b3177aa2-27b6-405d-b266-ba2576e80dc4","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c0e959178fb3a4e451caa4712a112809","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c0e959178fb3a4e451caa4712a112809","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/ea65e0c1-6d96-465b-b351-1af44c74ea26"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b3177aa2-27b6-405d-b266-ba2576e80dc4"}}},"level":"info","message":"received a callback","requestID":"c0e959178fb3a4e451caa4712a112809"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cca58d550e7034cfedc8a32d58e5a9cc","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"cca58d550e7034cfedc8a32d58e5a9cc","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/ea65e0c1-6d96-465b-b351-1af44c74ea26"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b3177aa2-27b6-405d-b266-ba2576e80dc4"}}},"level":"info","message":"received a callback","requestID":"cca58d550e7034cfedc8a32d58e5a9cc"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb3177aa2-27b6-405d-b266-ba2576e80dc4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb3177aa2-27b6-405d-b266-ba2576e80dc4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"22b34e57-387b-42f0-a8a3-be2c22336454","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843020.1212926} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"450e45e4-df31-4b55-81ac-1644d3cb4652","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843020.121504} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","method":"POST","requestID":"9df3f550-242b-11f0-a4ab-3996a0934271","responseTime":42,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"b3177aa2-27b6-405d-b266-ba2576e80dc4","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"9df3f550-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"DELETE /peerconnections/b3177aa2-27b6-405d-b266-ba2576e80dc4 204 99ms","method":"DELETE","requestID":"9df3f550-242b-11f0-a4ab-3996a0934271","responseTime":99,"status":204,"url":"/peerconnections/b3177aa2-27b6-405d-b266-ba2576e80dc4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c"},"level":"info","message":"Successfully finished experiment","requestID":"78999d781e98e2e7e7d12d076ef2fea6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9e061dc0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Received request.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:40Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea65e0c1-6d96-465b-b351-1af44c74ea26","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"15bdaa87-6970-4e0c-be48-d7b39ba1d30e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843020.194698} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Sent response.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.758263,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea65e0c1-6d96-465b-b351-1af44c74ea26","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9e061dc0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ea65e0c1-6d96-465b-b351-1af44c74ea26","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9e061dc0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9e061dc0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/ea65e0c1-6d96-465b-b351-1af44c74ea26/signaling 200 12ms","method":"POST","requestID":"9e061dc0-242b-11f0-a4ab-3996a0934271","responseTime":12,"status":200,"url":"/devices/ea65e0c1-6d96-465b-b351-1af44c74ea26/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9e0840a0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1fda6e17-32c0-48f1-ba4a-6f56a8d5852c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1fda6e17-32c0-48f1-ba4a-6f56a8d5852c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"2d77e3fd-13ed-4353-ab1e-389f5e3f9b70","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843020.2029502} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"96e09387-8174-4ba8-ab41-445259e9d36b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843020.2032824} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"78999d781e98e2e7e7d12d076ef2fea6","responseTime":20,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Received request.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:40Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcdd99b6c-f1d1-417c-9662-d723b2e95bd9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"401b3d5e-412d-426a-a1f1-b96c54d836d3","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843020.208614} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Sent response.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.349504,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9e0840a0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9","object_type":"device","rebac_allow":false,"scope_allow":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":"9e0840a0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9e0840a0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9/signaling 200 11ms","method":"POST","requestID":"9e0840a0-242b-11f0-a4ab-3996a0934271","responseTime":11,"status":200,"url":"/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c","requestID":"78999d781e98e2e7e7d12d076ef2fea6"} gateway-1 | {"time_local":"28/Apr/2025:12:23:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.230","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"78999d781e98e2e7e7d12d076ef2fea6"} experiment-1 | {"level":"info","message":"DELETE /experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c 204 228ms","method":"DELETE","requestID":"78999d781e98e2e7e7d12d076ef2fea6","responseTime":228,"status":204,"url":"/experiments/1fda6e17-32c0-48f1-ba4a-6f56a8d5852c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 152ms","method":"POST","requestID":"c0e959178fb3a4e451caa4712a112809","responseTime":152,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:23: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.179","http_referrer":"","http_user_agent":"node-fetch","requestID":"c0e959178fb3a4e451caa4712a112809"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 152ms","method":"POST","requestID":"cca58d550e7034cfedc8a32d58e5a9cc","responseTime":152,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:23: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.180","http_referrer":"","http_user_agent":"node-fetch","requestID":"cca58d550e7034cfedc8a32d58e5a9cc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyMH0.awT0j65xlyXRx38k4FECg7Sa7MKLZfVrs4J4LiwG2LQ","level":"info","message":"auth send jwt","requestID":"d280ab4963f550839a24a5ad26bd63e2"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d280ab4963f550839a24a5ad26bd63e2","responseTime":5,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:23:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2339","request_time":"1.437","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ab1576f1829dfa78bd7e10a0ae9a933b"} gateway-1 | {"time_local":"28/Apr/2025:12:23:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2339","request_time":"1.428","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ea8482889bd59f48dfec5da6335ae74d"} device-1 | {"level":"info","message":"postDevices called","requestID":"d280ab4963f550839a24a5ad26bd63e2"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Received request.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:40Z"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Sent response.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.821541,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d280ab4963f550839a24a5ad26bd63e2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843020,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyMH0.awT0j65xlyXRx38k4FECg7Sa7MKLZfVrs4J4LiwG2LQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d280ab4963f550839a24a5ad26bd63e2","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/ea65e0c1-6d96-465b-b351-1af44c74ea26' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/cdd99b6c-f1d1-417c-9662-d723b2e95bd9' 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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b1eef1a-d367-40bf-9b59-fb552988a9e1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8c3db543-a999-4b4b-8582-ad06f5a163b7","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843020.317756} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d280ab4963f550839a24a5ad26bd63e2","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bf7f2281-4da4-4fdc-9c3c-f49a5f58ad6c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843020.3225482} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"d280ab4963f550839a24a5ad26bd63e2","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b1eef1a-d367-40bf-9b59-fb552988a9e1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"5bb15cb2-1ced-4e05-934e-c0c44b0b6219","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843020.3596458} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"da81e2bd-e7ed-43ec-8311-1d8d8dc5882b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843020.359784} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"d280ab4963f550839a24a5ad26bd63e2","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b1eef1a-d367-40bf-9b59-fb552988a9e1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b1eef1a-d367-40bf-9b59-fb552988a9e1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:40.359633048Z"}]},"request_id":"40c8f20b-26b1-4084-b113-6e0fdbfd70c8","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843020.3644931} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d280ab4963f550839a24a5ad26bd63e2","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"d280ab4963f550839a24a5ad26bd63e2"} gateway-1 | {"time_local":"28/Apr/2025:12:23: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.103","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d280ab4963f550839a24a5ad26bd63e2"} device-1 | {"level":"info","message":"POST /devices? 201 92ms","method":"POST","requestID":"d280ab4963f550839a24a5ad26bd63e2","responseTime":92,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyMH0.awT0j65xlyXRx38k4FECg7Sa7MKLZfVrs4J4LiwG2LQ","level":"info","message":"auth send jwt","requestID":"cadfa445a8b2c2ccf23bfd29fd5f8e92"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cadfa445a8b2c2ccf23bfd29fd5f8e92","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"cadfa445a8b2c2ccf23bfd29fd5f8e92"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Received request.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:40Z"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Sent response.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.74265,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cadfa445a8b2c2ccf23bfd29fd5f8e92","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843020,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyMH0.awT0j65xlyXRx38k4FECg7Sa7MKLZfVrs4J4LiwG2LQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cadfa445a8b2c2ccf23bfd29fd5f8e92","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf716031-ab8f-4abf-acfa-a9b316307a0d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1f97c035-2a3c-4593-bf3b-c33806cb286a","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843020.4557498} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"cadfa445a8b2c2ccf23bfd29fd5f8e92","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b023e852-a625-42f8-8ec7-ce838ae0550e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843020.459987} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"cadfa445a8b2c2ccf23bfd29fd5f8e92","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf716031-ab8f-4abf-acfa-a9b316307a0d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"80ce78b2-a2e0-4e43-8a88-acf569ebda27","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843020.4705436} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bd096010-e210-48cf-a190-d745709e0d53","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843020.4707034} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"cadfa445a8b2c2ccf23bfd29fd5f8e92","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf716031-ab8f-4abf-acfa-a9b316307a0d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf716031-ab8f-4abf-acfa-a9b316307a0d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:40.470533622Z"}]},"request_id":"d6309f3f-1e69-4a68-a30f-412d4c17258c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843020.4877121} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cadfa445a8b2c2ccf23bfd29fd5f8e92","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"cadfa445a8b2c2ccf23bfd29fd5f8e92"} gateway-1 | {"time_local":"28/Apr/2025:12:23:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.121","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cadfa445a8b2c2ccf23bfd29fd5f8e92"} device-1 | {"level":"info","message":"POST /devices? 201 116ms","method":"POST","requestID":"cadfa445a8b2c2ccf23bfd29fd5f8e92","responseTime":116,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyMX0.yGo5H4NlJVPoMied-kzDtmdSYaQ3ESXQvw9Znf75bys","level":"info","message":"auth send jwt","requestID":"a57e6c1aaf4812f841151b4adf9d5e05"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a57e6c1aaf4812f841151b4adf9d5e05","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"a57e6c1aaf4812f841151b4adf9d5e05"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Received request.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:41Z"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Sent response.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.746075,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/df716031-ab8f-4abf-acfa-a9b316307a0d","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a57e6c1aaf4812f841151b4adf9d5e05","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/df716031-ab8f-4abf-acfa-a9b316307a0d","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843021,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyMX0.yGo5H4NlJVPoMied-kzDtmdSYaQ3ESXQvw9Znf75bys"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a57e6c1aaf4812f841151b4adf9d5e05","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf716031-ab8f-4abf-acfa-a9b316307a0d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf716031-ab8f-4abf-acfa-a9b316307a0d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:40.470533622Z"}]},"request_id":"225dc0e0-f437-4571-bddf-6cdecdd4067a","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843021.3338928} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a57e6c1aaf4812f841151b4adf9d5e05","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e564b942-0cc7-43de-a50d-3014c2ee67a1","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843021.3390987} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"a57e6c1aaf4812f841151b4adf9d5e05","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf716031-ab8f-4abf-acfa-a9b316307a0d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf716031-ab8f-4abf-acfa-a9b316307a0d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:40.470533622Z"}]},"request_id":"01f3ff79-de39-4527-ab04-3401e64f4644","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843021.3734536} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a57e6c1aaf4812f841151b4adf9d5e05","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"a57e6c1aaf4812f841151b4adf9d5e05"} gateway-1 | {"time_local":"28/Apr/2025:12:23:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/df716031-ab8f-4abf-acfa-a9b316307a0d HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.067","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"a57e6c1aaf4812f841151b4adf9d5e05"} device-1 | {"level":"info","message":"PATCH /devices/df716031-ab8f-4abf-acfa-a9b316307a0d 200 63ms","method":"PATCH","requestID":"a57e6c1aaf4812f841151b4adf9d5e05","responseTime":63,"status":200,"url":"/devices/df716031-ab8f-4abf-acfa-a9b316307a0d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyMX0.yGo5H4NlJVPoMied-kzDtmdSYaQ3ESXQvw9Znf75bys","level":"info","message":"auth send jwt","requestID":"3b88a3259dfa2c16c379115def1907d0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3b88a3259dfa2c16c379115def1907d0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"3b88a3259dfa2c16c379115def1907d0"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Received request.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:41Z"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Sent response.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.67479,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/df716031-ab8f-4abf-acfa-a9b316307a0d","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"3b88a3259dfa2c16c379115def1907d0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/df716031-ab8f-4abf-acfa-a9b316307a0d","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843021,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyMX0.yGo5H4NlJVPoMied-kzDtmdSYaQ3ESXQvw9Znf75bys"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3b88a3259dfa2c16c379115def1907d0","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"3b88a3259dfa2c16c379115def1907d0"} gateway-1 | {"time_local":"28/Apr/2025:12:23:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/df716031-ab8f-4abf-acfa-a9b316307a0d/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.18","requestID":"3b88a3259dfa2c16c379115def1907d0"} device-1 | {"level":"info","message":"POST /devices/df716031-ab8f-4abf-acfa-a9b316307a0d/websocket 200 21ms","method":"POST","requestID":"3b88a3259dfa2c16c379115def1907d0","responseTime":21,"status":200,"url":"/devices/df716031-ab8f-4abf-acfa-a9b316307a0d/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/df716031-ab8f-4abf-acfa-a9b316307a0d' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"aa13f0cd38c7d336f4a79940cd2ee125","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"aa13f0cd38c7d336f4a79940cd2ee125","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:23:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1/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":"aa13f0cd38c7d336f4a79940cd2ee125"} device-1 | {"level":"info","message":"OPTIONS /devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1/websocket 200 2ms","method":"OPTIONS","requestID":"aa13f0cd38c7d336f4a79940cd2ee125","responseTime":2,"status":200,"url":"/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyMn0.yky7w0EGbgHtfR2CTR7lkfcc9JVgSlUgaHFP5EnpqVg","level":"info","message":"auth send jwt","requestID":"2b583ed49848860cdc5bce461c2f262c"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2b583ed49848860cdc5bce461c2f262c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"2b583ed49848860cdc5bce461c2f262c"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Received request.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:42Z"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Sent response.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.656304,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"2b583ed49848860cdc5bce461c2f262c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843022,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyMn0.yky7w0EGbgHtfR2CTR7lkfcc9JVgSlUgaHFP5EnpqVg"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"2b583ed49848860cdc5bce461c2f262c","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"2b583ed49848860cdc5bce461c2f262c"} device-1 | {"level":"info","message":"POST /devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1/websocket 200 39ms","method":"POST","requestID":"2b583ed49848860cdc5bce461c2f262c","responseTime":39,"status":200,"url":"/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:23:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.044","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2b583ed49848860cdc5bce461c2f262c"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyMn0.yky7w0EGbgHtfR2CTR7lkfcc9JVgSlUgaHFP5EnpqVg","level":"info","message":"auth send jwt","requestID":"d88229407156af04aafbde0d0a3eeb3b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d88229407156af04aafbde0d0a3eeb3b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d88229407156af04aafbde0d0a3eeb3b"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Received request.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:42Z"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Sent response.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.214121,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d88229407156af04aafbde0d0a3eeb3b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843022,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyMn0.yky7w0EGbgHtfR2CTR7lkfcc9JVgSlUgaHFP5EnpqVg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d88229407156af04aafbde0d0a3eeb3b","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b1eef1a-d367-40bf-9b59-fb552988a9e1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b1eef1a-d367-40bf-9b59-fb552988a9e1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:40.359633048Z"}]},"request_id":"bc627191-5e94-47b8-a6eb-57b495ed2bd3","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843022.7436814} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d88229407156af04aafbde0d0a3eeb3b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d88229407156af04aafbde0d0a3eeb3b"} gateway-1 | {"time_local":"28/Apr/2025:12:23:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1? 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":"d88229407156af04aafbde0d0a3eeb3b"} device-1 | {"level":"info","message":"GET /devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1? 200 14ms","method":"GET","requestID":"d88229407156af04aafbde0d0a3eeb3b","responseTime":14,"status":200,"url":"/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyMn0.yky7w0EGbgHtfR2CTR7lkfcc9JVgSlUgaHFP5EnpqVg","level":"info","message":"auth send jwt","requestID":"4a53c6dc3e2b69aebf0cff78ba1b254d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4a53c6dc3e2b69aebf0cff78ba1b254d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4a53c6dc3e2b69aebf0cff78ba1b254d"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Received request.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:42Z"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Sent response.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.871675,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/df716031-ab8f-4abf-acfa-a9b316307a0d","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"4a53c6dc3e2b69aebf0cff78ba1b254d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/df716031-ab8f-4abf-acfa-a9b316307a0d","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843022,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyMn0.yky7w0EGbgHtfR2CTR7lkfcc9JVgSlUgaHFP5EnpqVg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4a53c6dc3e2b69aebf0cff78ba1b254d","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf716031-ab8f-4abf-acfa-a9b316307a0d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf716031-ab8f-4abf-acfa-a9b316307a0d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:40.470533622Z"}]},"request_id":"e1cacc9b-d160-4ab6-a930-b33419d42677","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843022.7628016} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4a53c6dc3e2b69aebf0cff78ba1b254d","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4a53c6dc3e2b69aebf0cff78ba1b254d"} gateway-1 | {"time_local":"28/Apr/2025:12:23:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/df716031-ab8f-4abf-acfa-a9b316307a0d? 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":"4a53c6dc3e2b69aebf0cff78ba1b254d"} device-1 | {"level":"info","message":"GET /devices/df716031-ab8f-4abf-acfa-a9b316307a0d? 200 18ms","method":"GET","requestID":"4a53c6dc3e2b69aebf0cff78ba1b254d","responseTime":18,"status":200,"url":"/devices/df716031-ab8f-4abf-acfa-a9b316307a0d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyMn0.yky7w0EGbgHtfR2CTR7lkfcc9JVgSlUgaHFP5EnpqVg","level":"info","message":"auth send jwt","requestID":"3c9a806d79aad98c64448b0f93b4addf"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3c9a806d79aad98c64448b0f93b4addf","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"3c9a806d79aad98c64448b0f93b4addf"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Received request.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:42Z"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Sent response.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.715005,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"3c9a806d79aad98c64448b0f93b4addf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843022,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyMn0.yky7w0EGbgHtfR2CTR7lkfcc9JVgSlUgaHFP5EnpqVg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3c9a806d79aad98c64448b0f93b4addf","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/82f3f19c-048b-4b9e-83b5-1187f279208b"},"level":"info","message":"Attempting to run experiment","requestID":"3c9a806d79aad98c64448b0f93b4addf"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/82f3f19c-048b-4b9e-83b5-1187f279208b"},"level":"info","message":"Attempting to book experiment","requestID":"3c9a806d79aad98c64448b0f93b4addf"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/82f3f19c-048b-4b9e-83b5-1187f279208b"},"level":"info","message":"Successfully booked experiment","requestID":"3c9a806d79aad98c64448b0f93b4addf"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9f974510-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9f976c20-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Received request.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:42Z"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Sent response.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.696386,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:42Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9f974510-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843022,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyMn0.yky7w0EGbgHtfR2CTR7lkfcc9JVgSlUgaHFP5EnpqVg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9f974510-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.980831,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/df716031-ab8f-4abf-acfa-a9b316307a0d","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9f976c20-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/df716031-ab8f-4abf-acfa-a9b316307a0d","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843022,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyMn0.yky7w0EGbgHtfR2CTR7lkfcc9JVgSlUgaHFP5EnpqVg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9f976c20-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b1eef1a-d367-40bf-9b59-fb552988a9e1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b1eef1a-d367-40bf-9b59-fb552988a9e1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:40.359633048Z"}]},"request_id":"f975ee56-a349-418a-ba07-1d5fc88c4601","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843022.824916} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"9f974510-242b-11f0-a4ab-3996a0934271","responseTime":29,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf716031-ab8f-4abf-acfa-a9b316307a0d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf716031-ab8f-4abf-acfa-a9b316307a0d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:40.470533622Z"}]},"request_id":"aa6767d6-43ae-49e6-967c-e72a52c4e7ca","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843022.851611} authorization-1 | {"level":"info","message":"POST /relations/query 200 30ms","method":"POST","requestID":"9f976c20-242b-11f0-a4ab-3996a0934271","responseTime":30,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9f974510-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1? 200 39ms","method":"GET","requestID":"9f974510-242b-11f0-a4ab-3996a0934271","responseTime":39,"status":200,"url":"/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9f976c20-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/df716031-ab8f-4abf-acfa-a9b316307a0d? 200 40ms","method":"GET","requestID":"9f976c20-242b-11f0-a4ab-3996a0934271","responseTime":40,"status":200,"url":"/devices/df716031-ab8f-4abf-acfa-a9b316307a0d?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/82f3f19c-048b-4b9e-83b5-1187f279208b"},"level":"info","message":"Setting up experiment","requestID":"3c9a806d79aad98c64448b0f93b4addf"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/82f3f19c-048b-4b9e-83b5-1187f279208b"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"3c9a806d79aad98c64448b0f93b4addf"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/82f3f19c-048b-4b9e-83b5-1187f279208b"},"level":"info","message":"Successfully locked booking for experiment","requestID":"3c9a806d79aad98c64448b0f93b4addf"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/82f3f19c-048b-4b9e-83b5-1187f279208b"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"3c9a806d79aad98c64448b0f93b4addf"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/82f3f19c-048b-4b9e-83b5-1187f279208b"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"3c9a806d79aad98c64448b0f93b4addf"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/82f3f19c-048b-4b9e-83b5-1187f279208b"},"level":"info","message":"Attempting to update booking for experiment","requestID":"3c9a806d79aad98c64448b0f93b4addf"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/82f3f19c-048b-4b9e-83b5-1187f279208b"},"level":"info","message":"Successfully updated booking for experiment","requestID":"3c9a806d79aad98c64448b0f93b4addf"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/82f3f19c-048b-4b9e-83b5-1187f279208b"},"level":"info","message":"Successfully set up experiment","requestID":"3c9a806d79aad98c64448b0f93b4addf"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9fac7ac0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9faca1d0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9faceff0-242b-11f0-a4ab-3996a0934271"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/82f3f19c-048b-4b9e-83b5-1187f279208b"},"level":"info","message":"Successfully running experiment","requestID":"3c9a806d79aad98c64448b0f93b4addf"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:42Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.780391,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:42Z"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Received request.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9fac7ac0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843022,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyMn0.yky7w0EGbgHtfR2CTR7lkfcc9JVgSlUgaHFP5EnpqVg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9fac7ac0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57286","level":"info","msg":"Sent response.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.602394,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:42Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/df716031-ab8f-4abf-acfa-a9b316307a0d","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9faca1d0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/df716031-ab8f-4abf-acfa-a9b316307a0d","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843022,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyMn0.yky7w0EGbgHtfR2CTR7lkfcc9JVgSlUgaHFP5EnpqVg"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"9faca1d0-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.457711,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:42Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b1eef1a-d367-40bf-9b59-fb552988a9e1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"af2cf611-110c-4194-be9a-493acf7974b6","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843022.9655125} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9faceff0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1","object_type":"device","rebac_allow":false,"scope_allow":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":"9faceff0-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf716031-ab8f-4abf-acfa-a9b316307a0d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf716031-ab8f-4abf-acfa-a9b316307a0d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:40.470533622Z"}]},"request_id":"64b0c31a-9728-44f3-8e88-095135ad0722","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843022.9731116} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"9faca1d0-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b1eef1a-d367-40bf-9b59-fb552988a9e1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b1eef1a-d367-40bf-9b59-fb552988a9e1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:40.359633048Z"}]},"request_id":"1d58551e-cc1f-4659-a405-029328ac9ca9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843022.9739118} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9fac7ac0-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9faceff0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1/signaling 200 18ms","method":"POST","requestID":"9faceff0-242b-11f0-a4ab-3996a0934271","responseTime":18,"status":200,"url":"/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9faca1d0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/df716031-ab8f-4abf-acfa-a9b316307a0d? 200 22ms","method":"GET","requestID":"9faca1d0-242b-11f0-a4ab-3996a0934271","responseTime":22,"status":200,"url":"/devices/df716031-ab8f-4abf-acfa-a9b316307a0d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9fac7ac0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1? 200 24ms","method":"GET","requestID":"9fac7ac0-242b-11f0-a4ab-3996a0934271","responseTime":24,"status":200,"url":"/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9fb04b50-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:42Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9fb0e790-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf716031-ab8f-4abf-acfa-a9b316307a0d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7dd41ce9-0658-4535-914d-66b504a68db0","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843022.9855466} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.500325,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/df716031-ab8f-4abf-acfa-a9b316307a0d","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9fb04b50-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/df716031-ab8f-4abf-acfa-a9b316307a0d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9fb04b50-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:42Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9fb04b50-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b1eef1a-d367-40bf-9b59-fb552988a9e1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e15f1b7c-cafb-4099-8c61-e24236625571","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843022.9900458} device-1 | {"level":"info","message":"POST /devices/df716031-ab8f-4abf-acfa-a9b316307a0d/signaling 200 9ms","method":"POST","requestID":"9fb04b50-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/df716031-ab8f-4abf-acfa-a9b316307a0d/signaling"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.40293,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9fb0e790-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9fb0e790-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9fb0e790-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1/signaling 200 9ms","method":"POST","requestID":"9fb0e790-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9fb29540-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:42Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf716031-ab8f-4abf-acfa-a9b316307a0d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eadac0ca-bae4-4f9b-9dd0-8b07eeb8beae","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843023.0001311} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.122796,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/df716031-ab8f-4abf-acfa-a9b316307a0d","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9fb29540-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/df716031-ab8f-4abf-acfa-a9b316307a0d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"9fb29540-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F82f3f19c-048b-4b9e-83b5-1187f279208b#owner@http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F82f3f19c-048b-4b9e-83b5-1187f279208b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"2f017eb7-f0ca-46c7-af52-64a83ae5c422","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843023.0022779} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f83a876b-d087-4721-8e2a-9dc090501ee5","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843023.00251} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"3c9a806d79aad98c64448b0f93b4addf","responseTime":40,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9fb29540-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/df716031-ab8f-4abf-acfa-a9b316307a0d/signaling 200 10ms","method":"POST","requestID":"9fb29540-242b-11f0-a4ab-3996a0934271","responseTime":10,"status":200,"url":"/devices/df716031-ab8f-4abf-acfa-a9b316307a0d/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/82f3f19c-048b-4b9e-83b5-1187f279208b"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"3c9a806d79aad98c64448b0f93b4addf"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/82f3f19c-048b-4b9e-83b5-1187f279208b"},"level":"info","message":"Building connection plan","requestID":"3c9a806d79aad98c64448b0f93b4addf"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"35c6c804-050d-4538-a494-6b285196252f"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"f1803be2-251f-4d01-84af-39d3c87bcab7"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"6f0d29ab-374e-45ff-a13e-fafb7e88b94b"}]},"level":"info","message":"Built pairwise service configurations","requestID":"3c9a806d79aad98c64448b0f93b4addf"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/df716031-ab8f-4abf-acfa-a9b316307a0d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"3c9a806d79aad98c64448b0f93b4addf"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"9fb49110-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:43Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/82f3f19c-048b-4b9e-83b5-1187f279208b","user":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"3c9a806d79aad98c64448b0f93b4addf"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.743973,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:43Z"} gateway-1 | {"time_local":"28/Apr/2025:12:23:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.240","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3c9a806d79aad98c64448b0f93b4addf"} experiment-1 | {"level":"info","message":"POST /experiments? 201 236ms","method":"POST","requestID":"3c9a806d79aad98c64448b0f93b4addf","responseTime":236,"status":201,"url":"/experiments?"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9fb49110-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843022,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyMn0.yky7w0EGbgHtfR2CTR7lkfcc9JVgSlUgaHFP5EnpqVg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9fb49110-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyM30.STG9qtC-YQjfs925iV8CWkZh55kmGfadUJiTXLRMCBY","level":"info","message":"auth send jwt","requestID":"c5a708cb8ba27a823af339e423530fae"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c5a708cb8ba27a823af339e423530fae","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c5a708cb8ba27a823af339e423530fae"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","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%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"b45f9284-e4c6-4db7-8071-9d56e5ea4d65","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843023.022108} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9a4e71c2-3c97-4980-8bea-0d22e5f2e173","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843023.0222714} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"9fb49110-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:43Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.679963,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c5a708cb8ba27a823af339e423530fae","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843023,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyM30.STG9qtC-YQjfs925iV8CWkZh55kmGfadUJiTXLRMCBY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c5a708cb8ba27a823af339e423530fae","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b1eef1a-d367-40bf-9b59-fb552988a9e1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b1eef1a-d367-40bf-9b59-fb552988a9e1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:40.359633048Z"}]},"request_id":"c76b7bfb-e191-4351-a729-d560675da472","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843023.0285747} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c5a708cb8ba27a823af339e423530fae","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"9fb49110-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"9fb49110-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/c7db0d19-6af0-49f2-bf65-9f373d627cd4'","requestID":"9fb49110-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c7db0d19-6af0-49f2-bf65-9f373d627cd4'","requestID":"9fb49110-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"9fb49110-242b-11f0-a4ab-3996a0934271"} 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":"9fb49110-242b-11f0-a4ab-3996a0934271","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":"getDevicesByDeviceId succeeded","requestID":"c5a708cb8ba27a823af339e423530fae"} device-1 | {"level":"info","message":"GET /devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1? 200 22ms","method":"GET","requestID":"c5a708cb8ba27a823af339e423530fae","responseTime":22,"status":200,"url":"/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1?"} gateway-1 | {"time_local":"28/Apr/2025:12:23:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c5a708cb8ba27a823af339e423530fae"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"9fb49110-242b-11f0-a4ab-3996a0934271"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyM30.STG9qtC-YQjfs925iV8CWkZh55kmGfadUJiTXLRMCBY","level":"info","message":"auth send jwt","requestID":"a9f887258beda19df61aabd3e0dafd5a"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a9f887258beda19df61aabd3e0dafd5a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a9f887258beda19df61aabd3e0dafd5a"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/c7db0d19-6af0-49f2-bf65-9f373d627cd4","device":"7b1eef1a-d367-40bf-9b59-fb552988a9e1","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} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:43Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.976562,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/df716031-ab8f-4abf-acfa-a9b316307a0d","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a9f887258beda19df61aabd3e0dafd5a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/df716031-ab8f-4abf-acfa-a9b316307a0d","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843023,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyM30.STG9qtC-YQjfs925iV8CWkZh55kmGfadUJiTXLRMCBY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a9f887258beda19df61aabd3e0dafd5a","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf716031-ab8f-4abf-acfa-a9b316307a0d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf716031-ab8f-4abf-acfa-a9b316307a0d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:40.470533622Z"}]},"request_id":"f00aa0f7-a8e0-4a54-9679-f5458e21cf02","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843023.0564785} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a9f887258beda19df61aabd3e0dafd5a","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a9f887258beda19df61aabd3e0dafd5a"} gateway-1 | {"time_local":"28/Apr/2025:12:23:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/df716031-ab8f-4abf-acfa-a9b316307a0d? 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":"a9f887258beda19df61aabd3e0dafd5a"} device-1 | {"level":"info","message":"GET /devices/df716031-ab8f-4abf-acfa-a9b316307a0d? 200 13ms","method":"GET","requestID":"a9f887258beda19df61aabd3e0dafd5a","responseTime":13,"status":200,"url":"/devices/df716031-ab8f-4abf-acfa-a9b316307a0d?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/82f3f19c-048b-4b9e-83b5-1187f279208b"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"3c9a806d79aad98c64448b0f93b4addf"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9fbd91c0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:43Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b1eef1a-d367-40bf-9b59-fb552988a9e1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6318d9a3-0022-4039-805e-b24e291899ed","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843023.0949259} device-1 | {"device":"7b1eef1a-d367-40bf-9b59-fb552988a9e1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.819536,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:43Z"} device-1 | {"content":{"canTrickle":true},"device":"7b1eef1a-d367-40bf-9b59-fb552988a9e1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9fbd91c0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1","object_type":"device","rebac_allow":false,"scope_allow":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":"9fbd91c0-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 4294260531223286658 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:CNeX\r\na=ice-pwd:N0RdUeZOvune+DagKfAcQVj4\r\na=ice-options:trickle\r\na=fingerprint:sha-256 BE:1E:AD:2D:21:9A:7D:D3:EB:5B:2F:64:84:63:5F:D1:A4:2B:05:B8:EC:7C:C9:7C:93:ED:15:AF:B1:B7:90:E2\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"7b1eef1a-d367-40bf-9b59-fb552988a9e1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9fbd91c0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1/signaling 200 34ms","method":"POST","requestID":"9fbd91c0-242b-11f0-a4ab-3996a0934271","responseTime":34,"status":200,"url":"/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1'"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9fc33710-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:43Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf716031-ab8f-4abf-acfa-a9b316307a0d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4bad4b05-4379-4780-bf0e-50a48a9f2f8c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843023.1100886} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.82384,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/df716031-ab8f-4abf-acfa-a9b316307a0d","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9fc33710-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/df716031-ab8f-4abf-acfa-a9b316307a0d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9fc33710-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9fc33710-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/df716031-ab8f-4abf-acfa-a9b316307a0d/signaling 200 33ms","method":"POST","requestID":"9fc33710-242b-11f0-a4ab-3996a0934271","responseTime":33,"status":200,"url":"/devices/df716031-ab8f-4abf-acfa-a9b316307a0d/signaling"} device-1 | {"device":"7b1eef1a-d367-40bf-9b59-fb552988a9e1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"df716031-ab8f-4abf-acfa-a9b316307a0d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"c7db0d19-6af0-49f2-bf65-9f373d627cd4","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"df716031-ab8f-4abf-acfa-a9b316307a0d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"df716031-ab8f-4abf-acfa-a9b316307a0d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"df716031-ab8f-4abf-acfa-a9b316307a0d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"df716031-ab8f-4abf-acfa-a9b316307a0d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c7db0d19-6af0-49f2-bf65-9f373d627cd4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c7db0d19-6af0-49f2-bf65-9f373d627cd4","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a11ef349a0c87add35dd15ae02d5a4ba","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a11ef349a0c87add35dd15ae02d5a4ba","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/df716031-ab8f-4abf-acfa-a9b316307a0d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c7db0d19-6af0-49f2-bf65-9f373d627cd4"}}},"level":"info","message":"received a callback","requestID":"a11ef349a0c87add35dd15ae02d5a4ba"} device-1 | {"content":{"candidate":"candidate:1939605898 1 udp 2113937151 777358e3-cb05-4b3d-b154-2d0b72cd802c.local 37720 typ host generation 0 ufrag CNeX network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"7b1eef1a-d367-40bf-9b59-fb552988a9e1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"7b1eef1a-d367-40bf-9b59-fb552988a9e1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"a11ef349a0c87add35dd15ae02d5a4ba","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:23: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.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"a11ef349a0c87add35dd15ae02d5a4ba"} device-1 | {"device":"df716031-ab8f-4abf-acfa-a9b316307a0d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"c7db0d19-6af0-49f2-bf65-9f373d627cd4","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"7b1eef1a-d367-40bf-9b59-fb552988a9e1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"df716031-ab8f-4abf-acfa-a9b316307a0d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"c7db0d19-6af0-49f2-bf65-9f373d627cd4","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/c7db0d19-6af0-49f2-bf65-9f373d627cd4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c7db0d19-6af0-49f2-bf65-9f373d627cd4","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9a91b42f7242515fdae8c162c7fbc103","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9a91b42f7242515fdae8c162c7fbc103","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/df716031-ab8f-4abf-acfa-a9b316307a0d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c7db0d19-6af0-49f2-bf65-9f373d627cd4"}}},"level":"info","message":"received a callback","requestID":"9a91b42f7242515fdae8c162c7fbc103"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"a0faccb0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:45Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc7db0d19-6af0-49f2-bf65-9f373d627cd4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d60a79d4-5b99-4ecd-aa9d-c1dc870cc920","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843025.1524096} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.300589,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c7db0d19-6af0-49f2-bf65-9f373d627cd4","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a0faccb0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c7db0d19-6af0-49f2-bf65-9f373d627cd4","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":"a0faccb0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"a0faccb0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /peerconnections/c7db0d19-6af0-49f2-bf65-9f373d627cd4 200 9ms","method":"GET","requestID":"a0faccb0-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/peerconnections/c7db0d19-6af0-49f2-bf65-9f373d627cd4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 29ms","method":"POST","requestID":"9a91b42f7242515fdae8c162c7fbc103","responseTime":29,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:23: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.031","http_referrer":"","http_user_agent":"node-fetch","requestID":"9a91b42f7242515fdae8c162c7fbc103"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a0fe9d40-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:45Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf716031-ab8f-4abf-acfa-a9b316307a0d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"166f4f60-f624-4db7-b5f4-8a0ef82f2e8e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843025.1761668} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.154777,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/df716031-ab8f-4abf-acfa-a9b316307a0d","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a0fe9d40-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/df716031-ab8f-4abf-acfa-a9b316307a0d","object_type":"device","rebac_allow":false,"scope_allow":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":"a0fe9d40-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a0fe9d40-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/df716031-ab8f-4abf-acfa-a9b316307a0d/signaling 200 12ms","method":"POST","requestID":"a0fe9d40-242b-11f0-a4ab-3996a0934271","responseTime":12,"status":200,"url":"/devices/df716031-ab8f-4abf-acfa-a9b316307a0d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a100c020-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:45Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b1eef1a-d367-40bf-9b59-fb552988a9e1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ce4ae916-1cd8-48c1-aea0-f3c024c13360","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843025.1901302} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.12268,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a100c020-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1","object_type":"device","rebac_allow":false,"scope_allow":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":"a100c020-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a100c020-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1/signaling 200 8ms","method":"POST","requestID":"a100c020-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyNX0.kUZWDVtSbWt2TqTrGK91Dj5AKjfnUZnoBZ5au-Viugo","level":"info","message":"auth send jwt","requestID":"5706d457f15c52262ce838f310ec4586"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5706d457f15c52262ce838f310ec4586","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/82f3f19c-048b-4b9e-83b5-1187f279208b","requestID":"5706d457f15c52262ce838f310ec4586"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:45Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.792767,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/82f3f19c-048b-4b9e-83b5-1187f279208b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"5706d457f15c52262ce838f310ec4586","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/82f3f19c-048b-4b9e-83b5-1187f279208b","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843025,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyNX0.kUZWDVtSbWt2TqTrGK91Dj5AKjfnUZnoBZ5au-Viugo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5706d457f15c52262ce838f310ec4586","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/82f3f19c-048b-4b9e-83b5-1187f279208b","requestID":"5706d457f15c52262ce838f310ec4586"} gateway-1 | {"time_local":"28/Apr/2025:12:23:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/82f3f19c-048b-4b9e-83b5-1187f279208b HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5706d457f15c52262ce838f310ec4586"} experiment-1 | {"level":"info","message":"GET /experiments/82f3f19c-048b-4b9e-83b5-1187f279208b 200 35ms","method":"GET","requestID":"5706d457f15c52262ce838f310ec4586","responseTime":35,"status":200,"url":"/experiments/82f3f19c-048b-4b9e-83b5-1187f279208b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyNX0.kUZWDVtSbWt2TqTrGK91Dj5AKjfnUZnoBZ5au-Viugo","level":"info","message":"auth send jwt","requestID":"6ec20ed2f7f2450de95134a69d02a400"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6ec20ed2f7f2450de95134a69d02a400","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/82f3f19c-048b-4b9e-83b5-1187f279208b","requestID":"6ec20ed2f7f2450de95134a69d02a400"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:45Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.703164,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:45Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/82f3f19c-048b-4b9e-83b5-1187f279208b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"6ec20ed2f7f2450de95134a69d02a400","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/82f3f19c-048b-4b9e-83b5-1187f279208b","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843025,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyNX0.kUZWDVtSbWt2TqTrGK91Dj5AKjfnUZnoBZ5au-Viugo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6ec20ed2f7f2450de95134a69d02a400","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/82f3f19c-048b-4b9e-83b5-1187f279208b"},"level":"info","message":"Attempting to finish experiment","requestID":"6ec20ed2f7f2450de95134a69d02a400"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"a10ddf80-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:45Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.79761,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:45Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c7db0d19-6af0-49f2-bf65-9f373d627cd4","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a10ddf80-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:http://localhost/peerconnections/c7db0d19-6af0-49f2-bf65-9f373d627cd4","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843025,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyNX0.kUZWDVtSbWt2TqTrGK91Dj5AKjfnUZnoBZ5au-Viugo"} authorization-1 | {"level":"info","message":"POST /authorize 200 25ms","method":"POST","requestID":"a10ddf80-242b-11f0-a4ab-3996a0934271","responseTime":25,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/c7db0d19-6af0-49f2-bf65-9f373d627cd4","device":"7b1eef1a-d367-40bf-9b59-fb552988a9e1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"df716031-ab8f-4abf-acfa-a9b316307a0d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"df716031-ab8f-4abf-acfa-a9b316307a0d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"df716031-ab8f-4abf-acfa-a9b316307a0d","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c7db0d19-6af0-49f2-bf65-9f373d627cd4' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c7db0d19-6af0-49f2-bf65-9f373d627cd4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c7db0d19-6af0-49f2-bf65-9f373d627cd4","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"836289087d854b3fffac476bdcb15857","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"836289087d854b3fffac476bdcb15857","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc7db0d19-6af0-49f2-bf65-9f373d627cd4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc7db0d19-6af0-49f2-bf65-9f373d627cd4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"556b3eb1-7a7f-43ba-a815-3d376f738693","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843025.3106596} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"22039665-66fb-410e-8e8b-5fa5094293c4","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843025.3109734} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8348de7fc33dd0596d568aef138f6a20","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8348de7fc33dd0596d568aef138f6a20","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/df716031-ab8f-4abf-acfa-a9b316307a0d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c7db0d19-6af0-49f2-bf65-9f373d627cd4"}}},"level":"info","message":"received a callback","requestID":"836289087d854b3fffac476bdcb15857"} 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/df716031-ab8f-4abf-acfa-a9b316307a0d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c7db0d19-6af0-49f2-bf65-9f373d627cd4"}}},"level":"info","message":"received a callback","requestID":"8348de7fc33dd0596d568aef138f6a20"} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"a10ddf80-242b-11f0-a4ab-3996a0934271","responseTime":10,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"c7db0d19-6af0-49f2-bf65-9f373d627cd4","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"a10ddf80-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"DELETE /peerconnections/c7db0d19-6af0-49f2-bf65-9f373d627cd4 204 82ms","method":"DELETE","requestID":"a10ddf80-242b-11f0-a4ab-3996a0934271","responseTime":82,"status":204,"url":"/peerconnections/c7db0d19-6af0-49f2-bf65-9f373d627cd4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/82f3f19c-048b-4b9e-83b5-1187f279208b"},"level":"info","message":"Successfully finished experiment","requestID":"6ec20ed2f7f2450de95134a69d02a400"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a11cac90-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:45Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf716031-ab8f-4abf-acfa-a9b316307a0d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"16dc3efe-76cd-4fcc-909a-764d6dc0c676","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843025.3984597} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.616322,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/df716031-ab8f-4abf-acfa-a9b316307a0d","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a11cac90-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/df716031-ab8f-4abf-acfa-a9b316307a0d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"a11cac90-242b-11f0-a4ab-3996a0934271","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a11cac90-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/df716031-ab8f-4abf-acfa-a9b316307a0d/signaling 200 33ms","method":"POST","requestID":"a11cac90-242b-11f0-a4ab-3996a0934271","responseTime":33,"status":200,"url":"/devices/df716031-ab8f-4abf-acfa-a9b316307a0d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a1222ad0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F82f3f19c-048b-4b9e-83b5-1187f279208b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F82f3f19c-048b-4b9e-83b5-1187f279208b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"f293c8e3-dd0e-4757-a7a9-172e985789aa","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843025.405411} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3df82e39-93c8-4dac-b049-172b6bd53af2","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843025.405669} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"6ec20ed2f7f2450de95134a69d02a400","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:45Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b1eef1a-d367-40bf-9b59-fb552988a9e1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e27ee32-09df-41a5-b72d-0df5f991a357","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843025.4101126} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.249674,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a1222ad0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a1222ad0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a1222ad0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1/signaling 200 9ms","method":"POST","requestID":"a1222ad0-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/82f3f19c-048b-4b9e-83b5-1187f279208b","requestID":"6ec20ed2f7f2450de95134a69d02a400"} gateway-1 | {"time_local":"28/Apr/2025:12:23:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/82f3f19c-048b-4b9e-83b5-1187f279208b HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.249","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6ec20ed2f7f2450de95134a69d02a400"} experiment-1 | {"level":"info","message":"DELETE /experiments/82f3f19c-048b-4b9e-83b5-1187f279208b 204 246ms","method":"DELETE","requestID":"6ec20ed2f7f2450de95134a69d02a400","responseTime":246,"status":204,"url":"/experiments/82f3f19c-048b-4b9e-83b5-1187f279208b"} gateway-1 | {"time_local":"28/Apr/2025:12:23:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2339","request_time":"4.098","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"fab7c392dafa99bb12f6d37b86e515d4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 198ms","method":"POST","requestID":"836289087d854b3fffac476bdcb15857","responseTime":198,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:23: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.201","http_referrer":"","http_user_agent":"node-fetch","requestID":"836289087d854b3fffac476bdcb15857"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 197ms","method":"POST","requestID":"8348de7fc33dd0596d568aef138f6a20","responseTime":197,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:23: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.201","http_referrer":"","http_user_agent":"node-fetch","requestID":"8348de7fc33dd0596d568aef138f6a20"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyNX0.kUZWDVtSbWt2TqTrGK91Dj5AKjfnUZnoBZ5au-Viugo","level":"info","message":"auth send jwt","requestID":"f60dfc515262b25a60bd68357eeab779"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"f60dfc515262b25a60bd68357eeab779","responseTime":28,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f60dfc515262b25a60bd68357eeab779"} gateway-1 | {"time_local":"28/Apr/2025:12:23:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2543","request_time":"2.826","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d687be627851148d9e051db420a45c94"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:45Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.093705,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"f60dfc515262b25a60bd68357eeab779","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843025,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyNX0.kUZWDVtSbWt2TqTrGK91Dj5AKjfnUZnoBZ5au-Viugo"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/df716031-ab8f-4abf-acfa-a9b316307a0d' closed"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f60dfc515262b25a60bd68357eeab779","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7b1eef1a-d367-40bf-9b59-fb552988a9e1' 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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6f6f5084-0da1-4296-adbb-d936a168369c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843025.5621562} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f60dfc515262b25a60bd68357eeab779","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ef2c0ed9-e260-4662-886b-57e6509785e4","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843025.5679286} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"f60dfc515262b25a60bd68357eeab779","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"c4f8c91f-93b3-403b-916d-8019a452e6fa","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843025.5779364} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a8bf4186-68ae-4896-a60a-b77389f2fd04","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843025.5783167} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"f60dfc515262b25a60bd68357eeab779","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:45.577923274Z"}]},"request_id":"ee0ad075-2a81-4240-b766-bd26d3974629","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843025.584131} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f60dfc515262b25a60bd68357eeab779","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f60dfc515262b25a60bd68357eeab779"} gateway-1 | {"time_local":"28/Apr/2025:12:23: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.078","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f60dfc515262b25a60bd68357eeab779"} device-1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"f60dfc515262b25a60bd68357eeab779","responseTime":50,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyNX0.kUZWDVtSbWt2TqTrGK91Dj5AKjfnUZnoBZ5au-Viugo","level":"info","message":"auth send jwt","requestID":"854edd96deb33d91ab572157ccfd7787"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"854edd96deb33d91ab572157ccfd7787","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"854edd96deb33d91ab572157ccfd7787"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:45Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.862687,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"854edd96deb33d91ab572157ccfd7787","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843025,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyNX0.kUZWDVtSbWt2TqTrGK91Dj5AKjfnUZnoBZ5au-Viugo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"854edd96deb33d91ab572157ccfd7787","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6895ac33-26be-4042-80e1-c9a6d6b164d3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b7d178d1-29b5-4785-993f-4fa8b7776801","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843025.6101196} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"854edd96deb33d91ab572157ccfd7787","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"153e5b72-88ea-4672-a9e6-e0ad12e64e6d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843025.616283} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"854edd96deb33d91ab572157ccfd7787","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6895ac33-26be-4042-80e1-c9a6d6b164d3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"850a57ad-d85f-4967-b612-83dbecdf4b81","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843025.6280348} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d1725947-ba07-4c6f-b004-1fa3a533d3d7","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843025.6281931} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"854edd96deb33d91ab572157ccfd7787","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6895ac33-26be-4042-80e1-c9a6d6b164d3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6895ac33-26be-4042-80e1-c9a6d6b164d3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:45.628022060Z"}]},"request_id":"72113c54-a9b6-4745-bdb6-08f5b765e23e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843025.6331966} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"854edd96deb33d91ab572157ccfd7787","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"854edd96deb33d91ab572157ccfd7787"} gateway-1 | {"time_local":"28/Apr/2025:12:23: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.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"854edd96deb33d91ab572157ccfd7787"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"854edd96deb33d91ab572157ccfd7787","responseTime":42,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyNn0.vMMoB_7eKdqMI_9Qmwpg8sGJFIdPL8r1xLHvAAMRuoU","level":"info","message":"auth send jwt","requestID":"ea4bce8b3d85a734bf43691b44b636f9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ea4bce8b3d85a734bf43691b44b636f9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"ea4bce8b3d85a734bf43691b44b636f9"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:46Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.694479,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ea4bce8b3d85a734bf43691b44b636f9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843026,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyNn0.vMMoB_7eKdqMI_9Qmwpg8sGJFIdPL8r1xLHvAAMRuoU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ea4bce8b3d85a734bf43691b44b636f9","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:45.577923274Z"}]},"request_id":"ecacc733-965e-423b-9a29-553f3487bd47","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843026.5175357} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ea4bce8b3d85a734bf43691b44b636f9","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"299496c9-ac81-4d13-b822-d5c2d8df859d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843026.5230553} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"ea4bce8b3d85a734bf43691b44b636f9","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:45.577923274Z"}]},"request_id":"5f72675e-abb3-44b6-aca9-5efea2ec4cb2","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843026.5577638} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ea4bce8b3d85a734bf43691b44b636f9","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"ea4bce8b3d85a734bf43691b44b636f9"} gateway-1 | {"time_local":"28/Apr/2025:12:23:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.057","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"ea4bce8b3d85a734bf43691b44b636f9"} device-1 | {"level":"info","message":"PATCH /devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a 200 53ms","method":"PATCH","requestID":"ea4bce8b3d85a734bf43691b44b636f9","responseTime":53,"status":200,"url":"/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyNn0.vMMoB_7eKdqMI_9Qmwpg8sGJFIdPL8r1xLHvAAMRuoU","level":"info","message":"auth send jwt","requestID":"0728a53ed12d36d611062bbb2b0e3af3"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0728a53ed12d36d611062bbb2b0e3af3","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"0728a53ed12d36d611062bbb2b0e3af3"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:46Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.816624,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"0728a53ed12d36d611062bbb2b0e3af3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843026,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyNn0.vMMoB_7eKdqMI_9Qmwpg8sGJFIdPL8r1xLHvAAMRuoU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0728a53ed12d36d611062bbb2b0e3af3","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"0728a53ed12d36d611062bbb2b0e3af3"} gateway-1 | {"time_local":"28/Apr/2025:12:23:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.043","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"0728a53ed12d36d611062bbb2b0e3af3"} device-1 | {"level":"info","message":"POST /devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a/websocket 200 39ms","method":"POST","requestID":"0728a53ed12d36d611062bbb2b0e3af3","responseTime":39,"status":200,"url":"/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"573edd9f70ae22a0632dca980bfd3057","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"573edd9f70ae22a0632dca980bfd3057","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:23:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/6895ac33-26be-4042-80e1-c9a6d6b164d3/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":"573edd9f70ae22a0632dca980bfd3057"} device-1 | {"level":"info","message":"OPTIONS /devices/6895ac33-26be-4042-80e1-c9a6d6b164d3/websocket 200 1ms","method":"OPTIONS","requestID":"573edd9f70ae22a0632dca980bfd3057","responseTime":1,"status":200,"url":"/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyN30.VXn8tKOuHxQzQSOiEI5zEGKKh47X0Pkdu1EP3_p2v9c","level":"info","message":"auth send jwt","requestID":"e6fc8e9c2127efccfc5f0652eebc2b17"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e6fc8e9c2127efccfc5f0652eebc2b17","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e6fc8e9c2127efccfc5f0652eebc2b17"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:47Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.099254,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e6fc8e9c2127efccfc5f0652eebc2b17","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843027,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyN30.VXn8tKOuHxQzQSOiEI5zEGKKh47X0Pkdu1EP3_p2v9c"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e6fc8e9c2127efccfc5f0652eebc2b17","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e6fc8e9c2127efccfc5f0652eebc2b17"} device-1 | {"level":"info","message":"POST /devices/6895ac33-26be-4042-80e1-c9a6d6b164d3/websocket 200 23ms","method":"POST","requestID":"e6fc8e9c2127efccfc5f0652eebc2b17","responseTime":23,"status":200,"url":"/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:23:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6895ac33-26be-4042-80e1-c9a6d6b164d3/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":"e6fc8e9c2127efccfc5f0652eebc2b17"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3' connected"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7df2972f2d9e65c9264bdce0b56791d8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyN30.VXn8tKOuHxQzQSOiEI5zEGKKh47X0Pkdu1EP3_p2v9c","level":"info","message":"auth send jwt","requestID":"7df2972f2d9e65c9264bdce0b56791d8"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7df2972f2d9e65c9264bdce0b56791d8","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:47Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.828282,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"7df2972f2d9e65c9264bdce0b56791d8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843027,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyN30.VXn8tKOuHxQzQSOiEI5zEGKKh47X0Pkdu1EP3_p2v9c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7df2972f2d9e65c9264bdce0b56791d8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:45.577923274Z"}]},"request_id":"663ec9c3-5876-46dc-8138-cfdb4c5358c9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843027.9861057} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7df2972f2d9e65c9264bdce0b56791d8","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7df2972f2d9e65c9264bdce0b56791d8"} gateway-1 | {"time_local":"28/Apr/2025:12:23:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a? 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":"7df2972f2d9e65c9264bdce0b56791d8"} device-1 | {"level":"info","message":"GET /devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a? 200 11ms","method":"GET","requestID":"7df2972f2d9e65c9264bdce0b56791d8","responseTime":11,"status":200,"url":"/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyN30.VXn8tKOuHxQzQSOiEI5zEGKKh47X0Pkdu1EP3_p2v9c","level":"info","message":"auth send jwt","requestID":"9baa9092586772434d068551b2d1d706"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9baa9092586772434d068551b2d1d706","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9baa9092586772434d068551b2d1d706"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:47Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.668068,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9baa9092586772434d068551b2d1d706","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843027,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyN30.VXn8tKOuHxQzQSOiEI5zEGKKh47X0Pkdu1EP3_p2v9c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9baa9092586772434d068551b2d1d706","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6895ac33-26be-4042-80e1-c9a6d6b164d3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6895ac33-26be-4042-80e1-c9a6d6b164d3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:45.628022060Z"}]},"request_id":"4e1b6173-1a13-40ca-b737-a11104c77882","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843028.001577} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9baa9092586772434d068551b2d1d706","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9baa9092586772434d068551b2d1d706"} gateway-1 | {"time_local":"28/Apr/2025:12:23:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6895ac33-26be-4042-80e1-c9a6d6b164d3? 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":"9baa9092586772434d068551b2d1d706"} device-1 | {"level":"info","message":"GET /devices/6895ac33-26be-4042-80e1-c9a6d6b164d3? 200 11ms","method":"GET","requestID":"9baa9092586772434d068551b2d1d706","responseTime":11,"status":200,"url":"/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyOH0.BsFNwyjN1EA9JwGHdRLlPc1UBcp3l7Y4IJvH3scNHbA","level":"info","message":"auth send jwt","requestID":"ea2b355dd43040c94101a358b26496f8"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ea2b355dd43040c94101a358b26496f8","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"ea2b355dd43040c94101a358b26496f8"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.848497,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ea2b355dd43040c94101a358b26496f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843028,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyOH0.BsFNwyjN1EA9JwGHdRLlPc1UBcp3l7Y4IJvH3scNHbA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ea2b355dd43040c94101a358b26496f8","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/45082ba2-0ef6-4681-b252-598273980c25"},"level":"info","message":"Attempting to run experiment","requestID":"ea2b355dd43040c94101a358b26496f8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/45082ba2-0ef6-4681-b252-598273980c25"},"level":"info","message":"Attempting to book experiment","requestID":"ea2b355dd43040c94101a358b26496f8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/45082ba2-0ef6-4681-b252-598273980c25"},"level":"info","message":"Successfully booked experiment","requestID":"ea2b355dd43040c94101a358b26496f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a2c1d110-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a2c1f820-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.602284,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a2c1d110-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843028,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyOH0.BsFNwyjN1EA9JwGHdRLlPc1UBcp3l7Y4IJvH3scNHbA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a2c1d110-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Received request.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:48Z"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Sent response.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.933103,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a2c1f820-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843028,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyOH0.BsFNwyjN1EA9JwGHdRLlPc1UBcp3l7Y4IJvH3scNHbA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a2c1f820-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:45.577923274Z"}]},"request_id":"430b8774-25be-4b24-a7c9-c930e01b5b64","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843028.1368055} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a2c1d110-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6895ac33-26be-4042-80e1-c9a6d6b164d3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6895ac33-26be-4042-80e1-c9a6d6b164d3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:45.628022060Z"}]},"request_id":"73c065e4-fa50-406e-8d5c-df93fb502e81","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843028.1404178} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a2c1d110-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a2c1f820-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a? 200 12ms","method":"GET","requestID":"a2c1d110-242b-11f0-a4ab-3996a0934271","responseTime":12,"status":200,"url":"/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a2c1f820-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/6895ac33-26be-4042-80e1-c9a6d6b164d3? 200 14ms","method":"GET","requestID":"a2c1f820-242b-11f0-a4ab-3996a0934271","responseTime":14,"status":200,"url":"/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/45082ba2-0ef6-4681-b252-598273980c25"},"level":"info","message":"Setting up experiment","requestID":"ea2b355dd43040c94101a358b26496f8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/45082ba2-0ef6-4681-b252-598273980c25"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"ea2b355dd43040c94101a358b26496f8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/45082ba2-0ef6-4681-b252-598273980c25"},"level":"info","message":"Successfully locked booking for experiment","requestID":"ea2b355dd43040c94101a358b26496f8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/45082ba2-0ef6-4681-b252-598273980c25"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"ea2b355dd43040c94101a358b26496f8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/45082ba2-0ef6-4681-b252-598273980c25"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"ea2b355dd43040c94101a358b26496f8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/45082ba2-0ef6-4681-b252-598273980c25"},"level":"info","message":"Attempting to update booking for experiment","requestID":"ea2b355dd43040c94101a358b26496f8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/45082ba2-0ef6-4681-b252-598273980c25"},"level":"info","message":"Successfully updated booking for experiment","requestID":"ea2b355dd43040c94101a358b26496f8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/45082ba2-0ef6-4681-b252-598273980c25"},"level":"info","message":"Successfully set up experiment","requestID":"ea2b355dd43040c94101a358b26496f8"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a2d1af90-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a2d1d6a0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a2d224c0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Received request.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:48Z"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Sent response.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.760966,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:48Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/45082ba2-0ef6-4681-b252-598273980c25"},"level":"info","message":"Successfully running experiment","requestID":"ea2b355dd43040c94101a358b26496f8"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a2d1af90-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843028,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyOH0.BsFNwyjN1EA9JwGHdRLlPc1UBcp3l7Y4IJvH3scNHbA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a2d1af90-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.809118,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:48Z"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Received request.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a2d1d6a0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843028,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyOH0.BsFNwyjN1EA9JwGHdRLlPc1UBcp3l7Y4IJvH3scNHbA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a2d1d6a0-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Sent response.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.863119,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:48Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f5d1be32-522b-44b8-b72e-0a66ac9b7c92","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843028.2425728} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a2d224c0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","object_type":"device","rebac_allow":false,"scope_allow":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":"a2d224c0-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6895ac33-26be-4042-80e1-c9a6d6b164d3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6895ac33-26be-4042-80e1-c9a6d6b164d3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:45.628022060Z"}]},"request_id":"2587a8c1-892b-47d4-b4ac-3f9d38bf768b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843028.2461002} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"a2d1d6a0-242b-11f0-a4ab-3996a0934271","responseTime":29,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:45.577923274Z"}]},"request_id":"7a286020-6378-4e20-a5d0-8bb88775336e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843028.2756484} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a2d224c0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a2d1af90-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a/signaling 200 43ms","method":"POST","requestID":"a2d224c0-242b-11f0-a4ab-3996a0934271","responseTime":43,"status":200,"url":"/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a2d90290-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a2d1d6a0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/6895ac33-26be-4042-80e1-c9a6d6b164d3? 200 50ms","method":"GET","requestID":"a2d1d6a0-242b-11f0-a4ab-3996a0934271","responseTime":50,"status":200,"url":"/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a2d1af90-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a? 200 52ms","method":"GET","requestID":"a2d1af90-242b-11f0-a4ab-3996a0934271","responseTime":53,"status":200,"url":"/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a?"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F45082ba2-0ef6-4681-b252-598273980c25#owner@http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F45082ba2-0ef6-4681-b252-598273980c25","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"d62a0f63-e768-45fa-b470-8d0323bba809","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843028.2847376} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"69a20ec8-421c-40aa-a687-97938c6efab0","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843028.2850084} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a2da1400-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"level":"info","message":"POST /relations/update 200 47ms","method":"POST","requestID":"ea2b355dd43040c94101a358b26496f8","responseTime":47,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Received request.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:48Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6895ac33-26be-4042-80e1-c9a6d6b164d3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0b6fd2ec-c394-44f9-8be1-bf2745cde649","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843028.2895417} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Sent response.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.478337,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a2d90290-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3","object_type":"device","rebac_allow":false,"scope_allow":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":"a2d90290-242b-11f0-a4ab-3996a0934271","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ad309e32-1417-4bc0-bf72-ff82d86f893e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843028.2945623} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.239215,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:48Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/45082ba2-0ef6-4681-b252-598273980c25","user":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"ea2b355dd43040c94101a358b26496f8"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a2da1400-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"a2da1400-242b-11f0-a4ab-3996a0934271","responseTime":31,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"28/Apr/2025:12:23:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.314","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ea2b355dd43040c94101a358b26496f8"} experiment-1 | {"level":"info","message":"POST /experiments? 201 288ms","method":"POST","requestID":"ea2b355dd43040c94101a358b26496f8","responseTime":288,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a2d90290-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/6895ac33-26be-4042-80e1-c9a6d6b164d3/signaling 200 44ms","method":"POST","requestID":"a2d90290-242b-11f0-a4ab-3996a0934271","responseTime":44,"status":200,"url":"/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyOH0.BsFNwyjN1EA9JwGHdRLlPc1UBcp3l7Y4IJvH3scNHbA","level":"info","message":"auth send jwt","requestID":"d52d23782f9961ad7e25e741fbd0c4c6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a2da1400-242b-11f0-a4ab-3996a0934271"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d52d23782f9961ad7e25e741fbd0c4c6","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a/signaling 200 40ms","method":"POST","requestID":"a2da1400-242b-11f0-a4ab-3996a0934271","responseTime":40,"status":200,"url":"/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d52d23782f9961ad7e25e741fbd0c4c6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a2e0a3b0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.796099,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d52d23782f9961ad7e25e741fbd0c4c6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843028,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyOH0.BsFNwyjN1EA9JwGHdRLlPc1UBcp3l7Y4IJvH3scNHbA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d52d23782f9961ad7e25e741fbd0c4c6","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:48Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:45.577923274Z"}]},"request_id":"45823509-a4df-4bf5-a730-35ec24a945cc","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843028.33772} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6895ac33-26be-4042-80e1-c9a6d6b164d3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e1dc12e0-6726-4ea2-a374-6508985590ac","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843028.337856} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d52d23782f9961ad7e25e741fbd0c4c6","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.532426,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a2e0a3b0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a2e0a3b0-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d52d23782f9961ad7e25e741fbd0c4c6"} gateway-1 | {"time_local":"28/Apr/2025:12:23:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a? 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":"d52d23782f9961ad7e25e741fbd0c4c6"} device-1 | {"level":"info","message":"GET /devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a? 200 14ms","method":"GET","requestID":"d52d23782f9961ad7e25e741fbd0c4c6","responseTime":14,"status":200,"url":"/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a2e0a3b0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/6895ac33-26be-4042-80e1-c9a6d6b164d3/signaling 200 37ms","method":"POST","requestID":"a2e0a3b0-242b-11f0-a4ab-3996a0934271","responseTime":37,"status":200,"url":"/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/45082ba2-0ef6-4681-b252-598273980c25"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"ea2b355dd43040c94101a358b26496f8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/45082ba2-0ef6-4681-b252-598273980c25"},"level":"info","message":"Building connection plan","requestID":"ea2b355dd43040c94101a358b26496f8"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"7b15a096-0a89-4d2c-8890-0543ffb9f505"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"6163896b-2643-4ed2-b721-cd05d349bd0b"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"cef54b6e-a337-4c0c-bfbd-28d0ea174839"}]},"level":"info","message":"Built pairwise service configurations","requestID":"ea2b355dd43040c94101a358b26496f8"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"ea2b355dd43040c94101a358b26496f8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyOH0.BsFNwyjN1EA9JwGHdRLlPc1UBcp3l7Y4IJvH3scNHbA","level":"info","message":"auth send jwt","requestID":"1a8cc7c3bec4e1d9e7f483d22e8b3911"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1a8cc7c3bec4e1d9e7f483d22e8b3911","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"a2e6e540-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1a8cc7c3bec4e1d9e7f483d22e8b3911"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.927847,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:48Z"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Received request.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a2e6e540-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843028,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyOH0.BsFNwyjN1EA9JwGHdRLlPc1UBcp3l7Y4IJvH3scNHbA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a2e6e540-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Sent response.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.573608,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"1a8cc7c3bec4e1d9e7f483d22e8b3911","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843028,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAyOH0.BsFNwyjN1EA9JwGHdRLlPc1UBcp3l7Y4IJvH3scNHbA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1a8cc7c3bec4e1d9e7f483d22e8b3911","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6895ac33-26be-4042-80e1-c9a6d6b164d3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6895ac33-26be-4042-80e1-c9a6d6b164d3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:45.628022060Z"}]},"request_id":"ee98d566-c686-4dfa-827b-f85ad03975f6","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843028.3815262} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1a8cc7c3bec4e1d9e7f483d22e8b3911","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1a8cc7c3bec4e1d9e7f483d22e8b3911"} gateway-1 | {"time_local":"28/Apr/2025:12:23:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6895ac33-26be-4042-80e1-c9a6d6b164d3? 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":"1a8cc7c3bec4e1d9e7f483d22e8b3911"} device-1 | {"level":"info","message":"GET /devices/6895ac33-26be-4042-80e1-c9a6d6b164d3? 200 11ms","method":"GET","requestID":"1a8cc7c3bec4e1d9e7f483d22e8b3911","responseTime":11,"status":200,"url":"/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3?"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","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%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"4e181b5c-0d9a-4bce-bfeb-8e6a08875f51","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843028.385455} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f898572b-85ec-4f31-bbca-332d8ad5fc0b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843028.3858} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"a2e6e540-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"a2e6e540-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"a2e6e540-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/976a4106-0cb2-4b36-a6b4-d30fede1ab53'","requestID":"a2e6e540-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/976a4106-0cb2-4b36-a6b4-d30fede1ab53'","requestID":"a2e6e540-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"a2e6e540-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 55ms","method":"POST","requestID":"a2e6e540-242b-11f0-a4ab-3996a0934271","responseTime":55,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"a2e6e540-242b-11f0-a4ab-3996a0934271"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/976a4106-0cb2-4b36-a6b4-d30fede1ab53","device":"6895ac33-26be-4042-80e1-c9a6d6b164d3","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/45082ba2-0ef6-4681-b252-598273980c25"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"ea2b355dd43040c94101a358b26496f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a2f711e0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Received request.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:48Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"835efbf3-ba7e-4f54-926b-bbd9f6d7aaca","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843028.4829822} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Sent response.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.705718,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a2f711e0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a2f711e0-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"device":"6895ac33-26be-4042-80e1-c9a6d6b164d3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"6895ac33-26be-4042-80e1-c9a6d6b164d3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a2f711e0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a/signaling 200 36ms","method":"POST","requestID":"a2f711e0-242b-11f0-a4ab-3996a0934271","responseTime":36,"status":200,"url":"/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a2fcb730-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Received request.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:48Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6895ac33-26be-4042-80e1-c9a6d6b164d3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8e8d0eff-bb1e-45ac-b5dc-bace7d0e5d46","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843028.5198658} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Sent response.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.23155,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a2fcb730-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3","object_type":"device","rebac_allow":false,"scope_allow":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":"a2fcb730-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a2fcb730-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/6895ac33-26be-4042-80e1-c9a6d6b164d3/signaling 200 9ms","method":"POST","requestID":"a2fcb730-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3/signaling"} device-1 | {"device":"6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"976a4106-0cb2-4b36-a6b4-d30fede1ab53","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 970281188009538310 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:9PHq\r\na=ice-pwd:KQclbqP4nvO8ThgQaBQRr1N0\r\na=ice-options:trickle\r\na=fingerprint:sha-256 32:57:BC:B6:AF:DB:00:68:52:9B:12:6C:63:47:A4:69:F0:74:60:A8:89:49:22:97:EE:D5:6C:85:E1:C8:75:78\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"6895ac33-26be-4042-80e1-c9a6d6b164d3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2624385992 1 udp 2113937151 b12235a8-f5e0-4c58-8a3e-7237831b02e5.local 47385 typ host generation 0 ufrag 9PHq network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"6895ac33-26be-4042-80e1-c9a6d6b164d3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"6895ac33-26be-4042-80e1-c9a6d6b164d3","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/6895ac33-26be-4042-80e1-c9a6d6b164d3'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/976a4106-0cb2-4b36-a6b4-d30fede1ab53' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"976a4106-0cb2-4b36-a6b4-d30fede1ab53","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"6895ac33-26be-4042-80e1-c9a6d6b164d3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c94241c16691bcd0f105d91fa77684f0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c94241c16691bcd0f105d91fa77684f0","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/976a4106-0cb2-4b36-a6b4-d30fede1ab53"}}},"level":"info","message":"received a callback","requestID":"c94241c16691bcd0f105d91fa77684f0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"c94241c16691bcd0f105d91fa77684f0","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:23: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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"c94241c16691bcd0f105d91fa77684f0"} device-1 | {"data":{"peerconnection":"976a4106-0cb2-4b36-a6b4-d30fede1ab53","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6895ac33-26be-4042-80e1-c9a6d6b164d3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"976a4106-0cb2-4b36-a6b4-d30fede1ab53","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"6895ac33-26be-4042-80e1-c9a6d6b164d3","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/976a4106-0cb2-4b36-a6b4-d30fede1ab53' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"976a4106-0cb2-4b36-a6b4-d30fede1ab53","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3ffae2cd4227075001cb66ac37cb4206","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3ffae2cd4227075001cb66ac37cb4206","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/6895ac33-26be-4042-80e1-c9a6d6b164d3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/976a4106-0cb2-4b36-a6b4-d30fede1ab53"}}},"level":"info","message":"received a callback","requestID":"3ffae2cd4227075001cb66ac37cb4206"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"a430a350-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Received request.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:50Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F976a4106-0cb2-4b36-a6b4-d30fede1ab53","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f9b5fe03-c441-499c-9624-f0acec0cdd77","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843030.5377574} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Sent response.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.246861,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/976a4106-0cb2-4b36-a6b4-d30fede1ab53","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a430a350-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/976a4106-0cb2-4b36-a6b4-d30fede1ab53","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":"a430a350-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"a430a350-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /peerconnections/976a4106-0cb2-4b36-a6b4-d30fede1ab53 200 8ms","method":"GET","requestID":"a430a350-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/peerconnections/976a4106-0cb2-4b36-a6b4-d30fede1ab53"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 25ms","method":"POST","requestID":"3ffae2cd4227075001cb66ac37cb4206","responseTime":25,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a433feb0-242b-11f0-a4ab-3996a0934271"} gateway-1 | {"time_local":"28/Apr/2025:12:23: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.028","http_referrer":"","http_user_agent":"node-fetch","requestID":"3ffae2cd4227075001cb66ac37cb4206"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Received request.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:50Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6895ac33-26be-4042-80e1-c9a6d6b164d3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e6823cc9-eb84-4e3f-86e5-8fe1d55e9295","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843030.5603502} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Sent response.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.342294,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a433feb0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a433feb0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a433feb0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/6895ac33-26be-4042-80e1-c9a6d6b164d3/signaling 200 10ms","method":"POST","requestID":"a433feb0-242b-11f0-a4ab-3996a0934271","responseTime":10,"status":200,"url":"/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a435ac60-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Received request.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:50Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"40bde8e4-97ae-488b-8b74-56774cece86d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843030.5707512} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Sent response.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.217249,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a435ac60-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","object_type":"device","rebac_allow":false,"scope_allow":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":"a435ac60-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a435ac60-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a/signaling 200 7ms","method":"POST","requestID":"a435ac60-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzMH0.99dhYl6_U74jXZB4HVg9ixQ_aluKPL_G9zRlu1tTZ7A","level":"info","message":"auth send jwt","requestID":"f197d633ead3ba683fff3e0537462832"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f197d633ead3ba683fff3e0537462832","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/45082ba2-0ef6-4681-b252-598273980c25","requestID":"f197d633ead3ba683fff3e0537462832"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Received request.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:50Z"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Sent response.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.826773,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/45082ba2-0ef6-4681-b252-598273980c25","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"f197d633ead3ba683fff3e0537462832","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/45082ba2-0ef6-4681-b252-598273980c25","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843030,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzMH0.99dhYl6_U74jXZB4HVg9ixQ_aluKPL_G9zRlu1tTZ7A"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f197d633ead3ba683fff3e0537462832","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/45082ba2-0ef6-4681-b252-598273980c25","requestID":"f197d633ead3ba683fff3e0537462832"} gateway-1 | {"time_local":"28/Apr/2025:12:23:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/45082ba2-0ef6-4681-b252-598273980c25 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f197d633ead3ba683fff3e0537462832"} experiment-1 | {"level":"info","message":"GET /experiments/45082ba2-0ef6-4681-b252-598273980c25 200 11ms","method":"GET","requestID":"f197d633ead3ba683fff3e0537462832","responseTime":11,"status":200,"url":"/experiments/45082ba2-0ef6-4681-b252-598273980c25"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzMH0.99dhYl6_U74jXZB4HVg9ixQ_aluKPL_G9zRlu1tTZ7A","level":"info","message":"auth send jwt","requestID":"fe8aa15480cc4c99b5f501a8eb4fc617"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fe8aa15480cc4c99b5f501a8eb4fc617","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/45082ba2-0ef6-4681-b252-598273980c25","requestID":"fe8aa15480cc4c99b5f501a8eb4fc617"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Received request.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:50Z"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Sent response.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.414661,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:50Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/45082ba2-0ef6-4681-b252-598273980c25","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"fe8aa15480cc4c99b5f501a8eb4fc617","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/45082ba2-0ef6-4681-b252-598273980c25","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843030,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzMH0.99dhYl6_U74jXZB4HVg9ixQ_aluKPL_G9zRlu1tTZ7A"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"fe8aa15480cc4c99b5f501a8eb4fc617","responseTime":29,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/45082ba2-0ef6-4681-b252-598273980c25"},"level":"info","message":"Attempting to finish experiment","requestID":"fe8aa15480cc4c99b5f501a8eb4fc617"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"a4471180-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Received request.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:50Z"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Sent response.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.714626,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:50Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/976a4106-0cb2-4b36-a6b4-d30fede1ab53","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a4471180-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:http://localhost/peerconnections/976a4106-0cb2-4b36-a6b4-d30fede1ab53","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843030,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzMH0.99dhYl6_U74jXZB4HVg9ixQ_aluKPL_G9zRlu1tTZ7A"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"a4471180-242b-11f0-a4ab-3996a0934271","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/976a4106-0cb2-4b36-a6b4-d30fede1ab53","device":"6895ac33-26be-4042-80e1-c9a6d6b164d3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/976a4106-0cb2-4b36-a6b4-d30fede1ab53' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/976a4106-0cb2-4b36-a6b4-d30fede1ab53' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"976a4106-0cb2-4b36-a6b4-d30fede1ab53","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F976a4106-0cb2-4b36-a6b4-d30fede1ab53': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F976a4106-0cb2-4b36-a6b4-d30fede1ab53","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"8042863d-740f-40ce-b184-ed8b5c68a910","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843030.6956513} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"43abe7d64baaddb6a0e3a15280a83a32","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cd5f77a2-5f87-474e-846b-4adabf8015c3","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843030.6959696} authentication-1 | {"level":"info","message":"GET /auth 200 25ms","method":"GET","requestID":"43abe7d64baaddb6a0e3a15280a83a32","responseTime":25,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c9bdeb71e4650a48a43ba575c945f007","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 32ms","method":"POST","requestID":"a4471180-242b-11f0-a4ab-3996a0934271","responseTime":32,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c9bdeb71e4650a48a43ba575c945f007","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/976a4106-0cb2-4b36-a6b4-d30fede1ab53"}}},"level":"info","message":"received a callback","requestID":"43abe7d64baaddb6a0e3a15280a83a32"} 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/6895ac33-26be-4042-80e1-c9a6d6b164d3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/976a4106-0cb2-4b36-a6b4-d30fede1ab53"}}},"level":"info","message":"received a callback","requestID":"c9bdeb71e4650a48a43ba575c945f007"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"a4471180-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"DELETE /peerconnections/976a4106-0cb2-4b36-a6b4-d30fede1ab53 204 89ms","method":"DELETE","requestID":"a4471180-242b-11f0-a4ab-3996a0934271","responseTime":89,"status":204,"url":"/peerconnections/976a4106-0cb2-4b36-a6b4-d30fede1ab53"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/45082ba2-0ef6-4681-b252-598273980c25"},"level":"info","message":"Successfully finished experiment","requestID":"fe8aa15480cc4c99b5f501a8eb4fc617"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a456f000-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Received request.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:50Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6895ac33-26be-4042-80e1-c9a6d6b164d3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e6c744f6-b056-4c2a-8781-dd99a86a5a0d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843030.7884748} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Sent response.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.401277,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a456f000-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a456f000-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a456f000-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/6895ac33-26be-4042-80e1-c9a6d6b164d3/signaling 200 8ms","method":"POST","requestID":"a456f000-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3/signaling"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F45082ba2-0ef6-4681-b252-598273980c25': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F45082ba2-0ef6-4681-b252-598273980c25","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"116f93bb-e617-4f8b-a7df-7e1692304eea","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843030.795834} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"346dd57b-90e9-408b-aa95-1a92f78f0003","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843030.7960374} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"fe8aa15480cc4c99b5f501a8eb4fc617","responseTime":39,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a45cbc60-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Received request.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:50Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"35ae3b06-31e5-4085-b2dd-bd9e0112af03","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843030.8266122} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Sent response.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.377873,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a45cbc60-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a45cbc60-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a45cbc60-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a/signaling 200 9ms","method":"POST","requestID":"a45cbc60-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/45082ba2-0ef6-4681-b252-598273980c25","requestID":"fe8aa15480cc4c99b5f501a8eb4fc617"} gateway-1 | {"time_local":"28/Apr/2025:12:23:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/45082ba2-0ef6-4681-b252-598273980c25 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.279","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fe8aa15480cc4c99b5f501a8eb4fc617"} experiment-1 | {"level":"info","message":"DELETE /experiments/45082ba2-0ef6-4681-b252-598273980c25 204 276ms","method":"DELETE","requestID":"fe8aa15480cc4c99b5f501a8eb4fc617","responseTime":276,"status":204,"url":"/experiments/45082ba2-0ef6-4681-b252-598273980c25"} gateway-1 | {"time_local":"28/Apr/2025:12:23:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2289","request_time":"4.317","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"58d907c091c14d397448c22b5734f4cb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 204ms","method":"POST","requestID":"43abe7d64baaddb6a0e3a15280a83a32","responseTime":204,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:23: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.231","http_referrer":"","http_user_agent":"node-fetch","requestID":"43abe7d64baaddb6a0e3a15280a83a32"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 204ms","method":"POST","requestID":"c9bdeb71e4650a48a43ba575c945f007","responseTime":204,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:23: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.231","http_referrer":"","http_user_agent":"node-fetch","requestID":"c9bdeb71e4650a48a43ba575c945f007"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzMH0.99dhYl6_U74jXZB4HVg9ixQ_aluKPL_G9zRlu1tTZ7A","level":"info","message":"auth send jwt","requestID":"9a6e5780c19e54d4216f05878d8a45fb"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9a6e5780c19e54d4216f05878d8a45fb","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"9a6e5780c19e54d4216f05878d8a45fb"} gateway-1 | {"time_local":"28/Apr/2025:12:23:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2548","request_time":"2.969","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e2eae312271476ddb9df8d439246ea0e"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Received request.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:50Z"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Sent response.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.954973,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9a6e5780c19e54d4216f05878d8a45fb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843030,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzMH0.99dhYl6_U74jXZB4HVg9ixQ_aluKPL_G9zRlu1tTZ7A"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"9a6e5780c19e54d4216f05878d8a45fb","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6bf8ed3a-2dea-42f7-ac5a-84d65f8d2b7a' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6895ac33-26be-4042-80e1-c9a6d6b164d3' 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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7c93faa-5b4a-412e-9b04-602609c8e0fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2ed55e72-cb76-4c1c-baa5-d316bafb8600","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843030.9839745} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9a6e5780c19e54d4216f05878d8a45fb","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"261d1657-cb4d-42b9-8ad3-a2d47f262cac","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843030.9885657} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"9a6e5780c19e54d4216f05878d8a45fb","responseTime":28,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7c93faa-5b4a-412e-9b04-602609c8e0fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"92d1df7a-eacc-4fd7-9c98-0dd0ba97d4a6","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843031.016414} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b788a976-705b-4f7f-96f0-ccef9bcf89cd","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843031.0165353} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"9a6e5780c19e54d4216f05878d8a45fb","responseTime":30,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7c93faa-5b4a-412e-9b04-602609c8e0fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7c93faa-5b4a-412e-9b04-602609c8e0fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:51.016396582Z"}]},"request_id":"a8f38a0b-f50c-4b3f-91d5-dfaa89b9abb6","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843031.021264} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9a6e5780c19e54d4216f05878d8a45fb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"9a6e5780c19e54d4216f05878d8a45fb"} gateway-1 | {"time_local":"28/Apr/2025:12:23:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.099","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9a6e5780c19e54d4216f05878d8a45fb"} device-1 | {"level":"info","message":"POST /devices? 201 93ms","method":"POST","requestID":"9a6e5780c19e54d4216f05878d8a45fb","responseTime":93,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzMX0.B2JxjnNc5jk--0tmAbZYkCu4rq2bvvUk83UJlLXX1lI","level":"info","message":"auth send jwt","requestID":"9d0dc7a914c3ef7a3b9c594e179c3b69"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9d0dc7a914c3ef7a3b9c594e179c3b69","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"9d0dc7a914c3ef7a3b9c594e179c3b69"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Received request.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:51Z"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Sent response.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.714541,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9d0dc7a914c3ef7a3b9c594e179c3b69","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843031,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzMX0.B2JxjnNc5jk--0tmAbZYkCu4rq2bvvUk83UJlLXX1lI"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"9d0dc7a914c3ef7a3b9c594e179c3b69","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd72ce8a3-1635-45bc-9a7b-dfb4128a8bac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bf7226b8-af9b-4406-9f99-afe0b5e174cc","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843031.1156986} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9d0dc7a914c3ef7a3b9c594e179c3b69","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e7362f20-706a-4dfa-b860-47801feef154","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843031.1196852} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"9d0dc7a914c3ef7a3b9c594e179c3b69","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd72ce8a3-1635-45bc-9a7b-dfb4128a8bac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"a9068912-9e71-424b-91d6-a831657c22ab","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843031.1556122} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5ae2ce72-c9d4-4e66-a64f-9bc0c7324858","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843031.1559129} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"9d0dc7a914c3ef7a3b9c594e179c3b69","responseTime":38,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd72ce8a3-1635-45bc-9a7b-dfb4128a8bac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd72ce8a3-1635-45bc-9a7b-dfb4128a8bac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:51.155598259Z"}]},"request_id":"8c1e21e4-2d19-44ef-8dd8-8937987fb945","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843031.1598089} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9d0dc7a914c3ef7a3b9c594e179c3b69","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"9d0dc7a914c3ef7a3b9c594e179c3b69"} gateway-1 | {"time_local":"28/Apr/2025:12:23:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.139","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9d0dc7a914c3ef7a3b9c594e179c3b69"} device-1 | {"level":"info","message":"POST /devices? 201 135ms","method":"POST","requestID":"9d0dc7a914c3ef7a3b9c594e179c3b69","responseTime":135,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzMn0.1Gwg5Sl67HZwsFLqm-Jp0vKVPfORG6GunOzYdCTyYq0","level":"info","message":"auth send jwt","requestID":"7bcf6c163f0940d1861a59b880f727b1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7bcf6c163f0940d1861a59b880f727b1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"7bcf6c163f0940d1861a59b880f727b1"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Received request.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Sent response.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.68357,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"7bcf6c163f0940d1861a59b880f727b1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843032,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzMn0.1Gwg5Sl67HZwsFLqm-Jp0vKVPfORG6GunOzYdCTyYq0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7bcf6c163f0940d1861a59b880f727b1","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzMn0.1Gwg5Sl67HZwsFLqm-Jp0vKVPfORG6GunOzYdCTyYq0","level":"info","message":"auth send jwt","requestID":"9fd6d284f8da9e2e93eafd405714c491"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9fd6d284f8da9e2e93eafd405714c491","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"9fd6d284f8da9e2e93eafd405714c491"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7c93faa-5b4a-412e-9b04-602609c8e0fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7c93faa-5b4a-412e-9b04-602609c8e0fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:51.016396582Z"}]},"request_id":"6d1ddef5-e73b-4719-bd42-17ee9d7a7b58","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843032.0653982} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"7bcf6c163f0940d1861a59b880f727b1","responseTime":29,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Received request.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Sent response.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.82339,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9fd6d284f8da9e2e93eafd405714c491","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843032,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzMn0.1Gwg5Sl67HZwsFLqm-Jp0vKVPfORG6GunOzYdCTyYq0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9fd6d284f8da9e2e93eafd405714c491","responseTime":5,"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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"30b95362-8edc-4094-8455-2f4822c9f3ea","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843032.073901} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"7bcf6c163f0940d1861a59b880f727b1","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd72ce8a3-1635-45bc-9a7b-dfb4128a8bac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd72ce8a3-1635-45bc-9a7b-dfb4128a8bac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:51.155598259Z"}]},"request_id":"a5aa244f-ab7f-4ded-a8f7-ba32dc8147f6","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843032.0785265} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"9fd6d284f8da9e2e93eafd405714c491","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"171eb983-83e1-4fc6-a81c-1a45a53c0d6c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843032.0843828} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"9fd6d284f8da9e2e93eafd405714c491","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7c93faa-5b4a-412e-9b04-602609c8e0fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7c93faa-5b4a-412e-9b04-602609c8e0fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:51.016396582Z"}]},"request_id":"bbfa377c-21fa-46f1-a819-02c2f0688f35","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843032.1245975} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7bcf6c163f0940d1861a59b880f727b1","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"7bcf6c163f0940d1861a59b880f727b1"} gateway-1 | {"time_local":"28/Apr/2025:12:23:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.100","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"7bcf6c163f0940d1861a59b880f727b1"} device-1 | {"level":"info","message":"PATCH /devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd 200 96ms","method":"PATCH","requestID":"7bcf6c163f0940d1861a59b880f727b1","responseTime":96,"status":200,"url":"/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzMn0.1Gwg5Sl67HZwsFLqm-Jp0vKVPfORG6GunOzYdCTyYq0","level":"info","message":"auth send jwt","requestID":"33ed2b3bd9cf3c0767688c90127db397"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"33ed2b3bd9cf3c0767688c90127db397","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"33ed2b3bd9cf3c0767688c90127db397"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd72ce8a3-1635-45bc-9a7b-dfb4128a8bac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd72ce8a3-1635-45bc-9a7b-dfb4128a8bac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:51.155598259Z"}]},"request_id":"4089e337-1855-4fd4-94f6-25e131a47c8e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843032.1336453} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"9fd6d284f8da9e2e93eafd405714c491","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Received request.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Sent response.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.975925,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:52Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"9fd6d284f8da9e2e93eafd405714c491"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"33ed2b3bd9cf3c0767688c90127db397","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843032,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzMn0.1Gwg5Sl67HZwsFLqm-Jp0vKVPfORG6GunOzYdCTyYq0"} gateway-1 | {"time_local":"28/Apr/2025:12:23:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.128","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"9fd6d284f8da9e2e93eafd405714c491"} device-1 | {"level":"info","message":"PATCH /devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac 200 122ms","method":"PATCH","requestID":"9fd6d284f8da9e2e93eafd405714c491","responseTime":122,"status":200,"url":"/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"33ed2b3bd9cf3c0767688c90127db397","responseTime":27,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzMn0.1Gwg5Sl67HZwsFLqm-Jp0vKVPfORG6GunOzYdCTyYq0","level":"info","message":"auth send jwt","requestID":"a5c0ca10eea49d1ec9f65095b2516e0f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a5c0ca10eea49d1ec9f65095b2516e0f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"a5c0ca10eea49d1ec9f65095b2516e0f"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Received request.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Sent response.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.759283,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a5c0ca10eea49d1ec9f65095b2516e0f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843032,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzMn0.1Gwg5Sl67HZwsFLqm-Jp0vKVPfORG6GunOzYdCTyYq0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a5c0ca10eea49d1ec9f65095b2516e0f","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"33ed2b3bd9cf3c0767688c90127db397"} gateway-1 | {"time_local":"28/Apr/2025:12:23:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"33ed2b3bd9cf3c0767688c90127db397"} device-1 | {"level":"info","message":"POST /devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd/websocket 200 39ms","method":"POST","requestID":"33ed2b3bd9cf3c0767688c90127db397","responseTime":39,"status":200,"url":"/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"a5c0ca10eea49d1ec9f65095b2516e0f"} gateway-1 | {"time_local":"28/Apr/2025:12:23:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.021","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"a5c0ca10eea49d1ec9f65095b2516e0f"} device-1 | {"level":"info","message":"POST /devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac/websocket 200 18ms","method":"POST","requestID":"a5c0ca10eea49d1ec9f65095b2516e0f","responseTime":18,"status":200,"url":"/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzMn0.1Gwg5Sl67HZwsFLqm-Jp0vKVPfORG6GunOzYdCTyYq0","level":"info","message":"auth send jwt","requestID":"82b6fe920a48905d3767cbf976233b81"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"82b6fe920a48905d3767cbf976233b81","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"82b6fe920a48905d3767cbf976233b81"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Received request.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Sent response.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.730943,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"82b6fe920a48905d3767cbf976233b81","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843032,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzMn0.1Gwg5Sl67HZwsFLqm-Jp0vKVPfORG6GunOzYdCTyYq0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"82b6fe920a48905d3767cbf976233b81","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7c93faa-5b4a-412e-9b04-602609c8e0fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7c93faa-5b4a-412e-9b04-602609c8e0fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:51.016396582Z"}]},"request_id":"302e0122-08ac-4996-aa8a-488a16748262","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843032.258435} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"82b6fe920a48905d3767cbf976233b81","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"82b6fe920a48905d3767cbf976233b81"} device-1 | {"level":"info","message":"GET /devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd? 200 34ms","method":"GET","requestID":"82b6fe920a48905d3767cbf976233b81","responseTime":34,"status":200,"url":"/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd?"} gateway-1 | {"time_local":"28/Apr/2025:12:23:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"82b6fe920a48905d3767cbf976233b81"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzMn0.1Gwg5Sl67HZwsFLqm-Jp0vKVPfORG6GunOzYdCTyYq0","level":"info","message":"auth send jwt","requestID":"5beff0b05b47f1b9dbb30e7e4e33c9c9"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5beff0b05b47f1b9dbb30e7e4e33c9c9","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5beff0b05b47f1b9dbb30e7e4e33c9c9"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Received request.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Sent response.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.692961,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"5beff0b05b47f1b9dbb30e7e4e33c9c9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843032,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzMn0.1Gwg5Sl67HZwsFLqm-Jp0vKVPfORG6GunOzYdCTyYq0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5beff0b05b47f1b9dbb30e7e4e33c9c9","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd72ce8a3-1635-45bc-9a7b-dfb4128a8bac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd72ce8a3-1635-45bc-9a7b-dfb4128a8bac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:51.155598259Z"}]},"request_id":"618689aa-981c-4d79-be01-5fccdef57cd2","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843032.2727265} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5beff0b05b47f1b9dbb30e7e4e33c9c9","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5beff0b05b47f1b9dbb30e7e4e33c9c9"} device-1 | {"level":"info","message":"GET /devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac? 200 10ms","method":"GET","requestID":"5beff0b05b47f1b9dbb30e7e4e33c9c9","responseTime":10,"status":200,"url":"/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac?"} gateway-1 | {"time_local":"28/Apr/2025:12:23:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac? 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":"5beff0b05b47f1b9dbb30e7e4e33c9c9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzMn0.1Gwg5Sl67HZwsFLqm-Jp0vKVPfORG6GunOzYdCTyYq0","level":"info","message":"auth send jwt","requestID":"12a0138d2106ff2fb22c2b525f304c4d"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"12a0138d2106ff2fb22c2b525f304c4d","responseTime":26,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"12a0138d2106ff2fb22c2b525f304c4d"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Received request.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Sent response.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.43199,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"12a0138d2106ff2fb22c2b525f304c4d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843032,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzMn0.1Gwg5Sl67HZwsFLqm-Jp0vKVPfORG6GunOzYdCTyYq0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"12a0138d2106ff2fb22c2b525f304c4d","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/91db8b7c-208d-4367-8dca-9b578ab62edb"},"level":"info","message":"Attempting to run experiment","requestID":"12a0138d2106ff2fb22c2b525f304c4d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/91db8b7c-208d-4367-8dca-9b578ab62edb"},"level":"info","message":"Attempting to book experiment","requestID":"12a0138d2106ff2fb22c2b525f304c4d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/91db8b7c-208d-4367-8dca-9b578ab62edb"},"level":"info","message":"Successfully booked experiment","requestID":"12a0138d2106ff2fb22c2b525f304c4d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a549b470-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a549db80-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Received request.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Sent response.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.72283,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a549b470-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843032,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzMn0.1Gwg5Sl67HZwsFLqm-Jp0vKVPfORG6GunOzYdCTyYq0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a549b470-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.894869,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a549db80-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843032,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzMn0.1Gwg5Sl67HZwsFLqm-Jp0vKVPfORG6GunOzYdCTyYq0"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","method":"POST","requestID":"a549db80-242b-11f0-a4ab-3996a0934271","responseTime":13,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7c93faa-5b4a-412e-9b04-602609c8e0fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7c93faa-5b4a-412e-9b04-602609c8e0fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:51.016396582Z"}]},"request_id":"aea52684-1ab4-40ec-960d-ba33be444914","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843032.393429} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd72ce8a3-1635-45bc-9a7b-dfb4128a8bac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd72ce8a3-1635-45bc-9a7b-dfb4128a8bac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:51.155598259Z"}]},"request_id":"39800022-cbf6-49a3-b67f-1d98c27c90e5","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843032.3942704} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a549b470-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a549db80-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a549b470-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd? 200 24ms","method":"GET","requestID":"a549b470-242b-11f0-a4ab-3996a0934271","responseTime":24,"status":200,"url":"/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a549db80-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac? 200 24ms","method":"GET","requestID":"a549db80-242b-11f0-a4ab-3996a0934271","responseTime":24,"status":200,"url":"/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/91db8b7c-208d-4367-8dca-9b578ab62edb"},"level":"info","message":"Setting up experiment","requestID":"12a0138d2106ff2fb22c2b525f304c4d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/91db8b7c-208d-4367-8dca-9b578ab62edb"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"12a0138d2106ff2fb22c2b525f304c4d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/91db8b7c-208d-4367-8dca-9b578ab62edb"},"level":"info","message":"Successfully locked booking for experiment","requestID":"12a0138d2106ff2fb22c2b525f304c4d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/91db8b7c-208d-4367-8dca-9b578ab62edb"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"12a0138d2106ff2fb22c2b525f304c4d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/91db8b7c-208d-4367-8dca-9b578ab62edb"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"12a0138d2106ff2fb22c2b525f304c4d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/91db8b7c-208d-4367-8dca-9b578ab62edb"},"level":"info","message":"Attempting to update booking for experiment","requestID":"12a0138d2106ff2fb22c2b525f304c4d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/91db8b7c-208d-4367-8dca-9b578ab62edb"},"level":"info","message":"Successfully updated booking for experiment","requestID":"12a0138d2106ff2fb22c2b525f304c4d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/91db8b7c-208d-4367-8dca-9b578ab62edb"},"level":"info","message":"Successfully set up experiment","requestID":"12a0138d2106ff2fb22c2b525f304c4d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a55414b0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a55462d0-242b-11f0-a4ab-3996a0934271"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/91db8b7c-208d-4367-8dca-9b578ab62edb"},"level":"info","message":"Successfully running experiment","requestID":"12a0138d2106ff2fb22c2b525f304c4d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a554b0f0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.774029,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Received request.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a55414b0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843032,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzMn0.1Gwg5Sl67HZwsFLqm-Jp0vKVPfORG6GunOzYdCTyYq0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a55414b0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Sent response.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.621571,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a55462d0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843032,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzMn0.1Gwg5Sl67HZwsFLqm-Jp0vKVPfORG6GunOzYdCTyYq0"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"a55462d0-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7c93faa-5b4a-412e-9b04-602609c8e0fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a277ef9c-afde-43a9-aa1c-9c890b821293","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843032.4538245} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.675236,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a554b0f0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd","object_type":"device","rebac_allow":false,"scope_allow":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":"a554b0f0-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7c93faa-5b4a-412e-9b04-602609c8e0fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7c93faa-5b4a-412e-9b04-602609c8e0fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:51.016396582Z"}]},"request_id":"4d21cf85-4d90-43bc-b394-edd68ea34d08","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843032.4553447} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd72ce8a3-1635-45bc-9a7b-dfb4128a8bac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd72ce8a3-1635-45bc-9a7b-dfb4128a8bac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:51.155598259Z"}]},"request_id":"dfbd2f75-f347-4433-9ef4-2ec930b1f7b5","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843032.4566429} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"a55414b0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a55462d0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a554b0f0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F91db8b7c-208d-4367-8dca-9b578ab62edb#owner@http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F91db8b7c-208d-4367-8dca-9b578ab62edb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"1a88b2c3-7d48-4ab0-8cae-c3e6d9e5d8fc","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843032.4620106} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"87d80c51-5ad2-4f4b-a67e-7d388b0438a1","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843032.462281} device-1 | {"level":"info","message":"POST /devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd/signaling 200 15ms","method":"POST","requestID":"a554b0f0-242b-11f0-a4ab-3996a0934271","responseTime":15,"status":200,"url":"/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a55414b0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd? 200 20ms","method":"GET","requestID":"a55414b0-242b-11f0-a4ab-3996a0934271","responseTime":20,"status":200,"url":"/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a55462d0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"12a0138d2106ff2fb22c2b525f304c4d","responseTime":15,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac? 200 19ms","method":"GET","requestID":"a55462d0-242b-11f0-a4ab-3996a0934271","responseTime":19,"status":200,"url":"/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a5577010-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd72ce8a3-1635-45bc-9a7b-dfb4128a8bac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ece8a604-ff75-485c-a454-c7c287a0b658","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843032.4691825} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a5580c50-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.744354,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a5577010-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a5577010-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/91db8b7c-208d-4367-8dca-9b578ab62edb","user":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"12a0138d2106ff2fb22c2b525f304c4d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a5577010-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac/signaling 200 13ms","method":"POST","requestID":"a5577010-242b-11f0-a4ab-3996a0934271","responseTime":13,"status":200,"url":"/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac/signaling"} gateway-1 | {"time_local":"28/Apr/2025:12:23:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"815","request_time":"0.219","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"12a0138d2106ff2fb22c2b525f304c4d"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:52Z"} experiment-1 | {"level":"info","message":"POST /experiments? 201 191ms","method":"POST","requestID":"12a0138d2106ff2fb22c2b525f304c4d","responseTime":191,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.091443,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7c93faa-5b4a-412e-9b04-602609c8e0fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c549ed59-0cf5-405d-b913-38c939aa7b46","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843032.4743214} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a5580c50-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"a5580c50-242b-11f0-a4ab-3996a0934271","responseTime":27,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzMn0.1Gwg5Sl67HZwsFLqm-Jp0vKVPfORG6GunOzYdCTyYq0","level":"info","message":"auth send jwt","requestID":"cd4fd0348928e01191627e6c2b70cc39"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a5580c50-242b-11f0-a4ab-3996a0934271"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cd4fd0348928e01191627e6c2b70cc39","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd/signaling 200 33ms","method":"POST","requestID":"a5580c50-242b-11f0-a4ab-3996a0934271","responseTime":33,"status":200,"url":"/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cd4fd0348928e01191627e6c2b70cc39"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a55d6380-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.878542,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Received request.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cd4fd0348928e01191627e6c2b70cc39","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843032,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzMn0.1Gwg5Sl67HZwsFLqm-Jp0vKVPfORG6GunOzYdCTyYq0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cd4fd0348928e01191627e6c2b70cc39","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd72ce8a3-1635-45bc-9a7b-dfb4128a8bac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b83dd0bc-d892-4525-913a-203f6a15e842","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843032.5094163} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Sent response.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.207716,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a55d6380-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a55d6380-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7c93faa-5b4a-412e-9b04-602609c8e0fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7c93faa-5b4a-412e-9b04-602609c8e0fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:51.016396582Z"}]},"request_id":"a7e5fd3b-61c2-4749-b012-c9c7ef310706","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843032.5113347} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cd4fd0348928e01191627e6c2b70cc39","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a55d6380-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac/signaling 200 11ms","method":"POST","requestID":"a55d6380-242b-11f0-a4ab-3996a0934271","responseTime":11,"status":200,"url":"/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cd4fd0348928e01191627e6c2b70cc39"} gateway-1 | {"time_local":"28/Apr/2025:12:23:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd? 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":"cd4fd0348928e01191627e6c2b70cc39"} device-1 | {"level":"info","message":"GET /devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd? 200 14ms","method":"GET","requestID":"cd4fd0348928e01191627e6c2b70cc39","responseTime":14,"status":200,"url":"/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/91db8b7c-208d-4367-8dca-9b578ab62edb"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"12a0138d2106ff2fb22c2b525f304c4d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/91db8b7c-208d-4367-8dca-9b578ab62edb"},"level":"info","message":"Building connection plan","requestID":"12a0138d2106ff2fb22c2b525f304c4d"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"4284294e-17a6-4d99-880d-5968a3ce1351"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"c742115a-996a-4acf-98e2-8fc8ecc60082"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"daef9bbe-be6c-4bc0-8e36-82440cd272ed"}]},"level":"info","message":"Built pairwise service configurations","requestID":"12a0138d2106ff2fb22c2b525f304c4d"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"12a0138d2106ff2fb22c2b525f304c4d"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"a55f8660-242b-11f0-a4ab-3996a0934271"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzMn0.1Gwg5Sl67HZwsFLqm-Jp0vKVPfORG6GunOzYdCTyYq0","level":"info","message":"auth send jwt","requestID":"5947fff2f0590841b9b7244c324857cc"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5947fff2f0590841b9b7244c324857cc","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5947fff2f0590841b9b7244c324857cc"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Received request.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Sent response.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.9054,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a55f8660-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843032,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzMn0.1Gwg5Sl67HZwsFLqm-Jp0vKVPfORG6GunOzYdCTyYq0"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"a55f8660-242b-11f0-a4ab-3996a0934271","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.677019,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"5947fff2f0590841b9b7244c324857cc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843032,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzMn0.1Gwg5Sl67HZwsFLqm-Jp0vKVPfORG6GunOzYdCTyYq0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5947fff2f0590841b9b7244c324857cc","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd72ce8a3-1635-45bc-9a7b-dfb4128a8bac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd72ce8a3-1635-45bc-9a7b-dfb4128a8bac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:51.155598259Z"}]},"request_id":"ea3549bb-9f5b-4154-b9fa-92e6eeb2f700","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843032.5528622} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5947fff2f0590841b9b7244c324857cc","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","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%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"72436ab0-d401-4f17-a0af-69ccfdbbaab0","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843032.556949} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5947fff2f0590841b9b7244c324857cc"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"30b5a7f1-2a18-4205-a65d-3ef839fe8ab9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843032.5572453} gateway-1 | {"time_local":"28/Apr/2025:12:23:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5947fff2f0590841b9b7244c324857cc"} device-1 | {"level":"info","message":"GET /devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac? 200 38ms","method":"GET","requestID":"5947fff2f0590841b9b7244c324857cc","responseTime":38,"status":200,"url":"/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"a55f8660-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"a55f8660-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"a55f8660-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/078b1547-e005-47da-a887-60a1cb2689c9'","requestID":"a55f8660-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/078b1547-e005-47da-a887-60a1cb2689c9'","requestID":"a55f8660-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"a55f8660-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 83ms","method":"POST","requestID":"a55f8660-242b-11f0-a4ab-3996a0934271","responseTime":83,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"a55f8660-242b-11f0-a4ab-3996a0934271"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/91db8b7c-208d-4367-8dca-9b578ab62edb"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"12a0138d2106ff2fb22c2b525f304c4d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a57446e0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7c93faa-5b4a-412e-9b04-602609c8e0fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"94672b9e-e9b4-4284-8a11-0b1ad5b94622","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843032.6585598} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.348648,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a57446e0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a57446e0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a57446e0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd/signaling 200 8ms","method":"POST","requestID":"a57446e0-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a575cd80-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd72ce8a3-1635-45bc-9a7b-dfb4128a8bac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"57c03b3d-f473-499d-ad6a-a90dbfc4f304","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843032.6683915} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":22.425626,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a575cd80-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"a575cd80-242b-11f0-a4ab-3996a0934271","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a575cd80-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac/signaling 200 32ms","method":"POST","requestID":"a575cd80-242b-11f0-a4ab-3996a0934271","responseTime":32,"status":200,"url":"/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac/signaling"} device-1 | {"device":"c7c93faa-5b4a-412e-9b04-602609c8e0fd","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"078b1547-e005-47da-a887-60a1cb2689c9","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"d72ce8a3-1635-45bc-9a7b-dfb4128a8bac","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"078b1547-e005-47da-a887-60a1cb2689c9","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"d72ce8a3-1635-45bc-9a7b-dfb4128a8bac","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d72ce8a3-1635-45bc-9a7b-dfb4128a8bac","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d72ce8a3-1635-45bc-9a7b-dfb4128a8bac","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d72ce8a3-1635-45bc-9a7b-dfb4128a8bac","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/078b1547-e005-47da-a887-60a1cb2689c9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"078b1547-e005-47da-a887-60a1cb2689c9","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"04f73897c0a82286af32bdbfb39f54af","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"04f73897c0a82286af32bdbfb39f54af","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/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/078b1547-e005-47da-a887-60a1cb2689c9"}}},"level":"info","message":"received a callback","requestID":"04f73897c0a82286af32bdbfb39f54af"} device-1 | {"device":"c7c93faa-5b4a-412e-9b04-602609c8e0fd","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c7c93faa-5b4a-412e-9b04-602609c8e0fd","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c7c93faa-5b4a-412e-9b04-602609c8e0fd","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"04f73897c0a82286af32bdbfb39f54af","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:23:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"04f73897c0a82286af32bdbfb39f54af"} device-1 | {"device":"d72ce8a3-1635-45bc-9a7b-dfb4128a8bac","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"078b1547-e005-47da-a887-60a1cb2689c9","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"c7c93faa-5b4a-412e-9b04-602609c8e0fd","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c7c93faa-5b4a-412e-9b04-602609c8e0fd","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d72ce8a3-1635-45bc-9a7b-dfb4128a8bac","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"078b1547-e005-47da-a887-60a1cb2689c9","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/078b1547-e005-47da-a887-60a1cb2689c9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"078b1547-e005-47da-a887-60a1cb2689c9","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d40e34f858f5530c0de2bdab61b242b2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d40e34f858f5530c0de2bdab61b242b2","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/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/078b1547-e005-47da-a887-60a1cb2689c9"}}},"level":"info","message":"received a callback","requestID":"d40e34f858f5530c0de2bdab61b242b2"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"a6acedf0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:54Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F078b1547-e005-47da-a887-60a1cb2689c9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"15055e25-e5ce-460f-ae70-210583644a3c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843034.7077556} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.313908,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/078b1547-e005-47da-a887-60a1cb2689c9","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a6acedf0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/078b1547-e005-47da-a887-60a1cb2689c9","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":"a6acedf0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"a6acedf0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /peerconnections/078b1547-e005-47da-a887-60a1cb2689c9 200 10ms","method":"GET","requestID":"a6acedf0-242b-11f0-a4ab-3996a0934271","responseTime":10,"status":200,"url":"/peerconnections/078b1547-e005-47da-a887-60a1cb2689c9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 56ms","method":"POST","requestID":"d40e34f858f5530c0de2bdab61b242b2","responseTime":56,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:23:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch","requestID":"d40e34f858f5530c0de2bdab61b242b2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a6b4dd30-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:54Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd72ce8a3-1635-45bc-9a7b-dfb4128a8bac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f58456fb-4ccf-476e-9cc0-38f184ce5e4a","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843034.760106} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.3517,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a6b4dd30-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a6b4dd30-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a6b4dd30-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac/signaling 200 9ms","method":"POST","requestID":"a6b4dd30-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a6b6b1f0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:54Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7c93faa-5b4a-412e-9b04-602609c8e0fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ef29b8d4-5dd1-4d4e-a665-e1085815cc01","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843034.7716165} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.92251,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a6b6b1f0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a6b6b1f0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a6b6b1f0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd/signaling 200 8ms","method":"POST","requestID":"a6b6b1f0-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNH0.bYZ28kOHGOw3yLJCd7I0XMMP_qi6_KVwaWbOOOjg-M4","level":"info","message":"auth send jwt","requestID":"f1734abd6f5b1a72297d40f83a4285ef"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f1734abd6f5b1a72297d40f83a4285ef","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/91db8b7c-208d-4367-8dca-9b578ab62edb","requestID":"f1734abd6f5b1a72297d40f83a4285ef"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:54Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.862924,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/91db8b7c-208d-4367-8dca-9b578ab62edb","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"f1734abd6f5b1a72297d40f83a4285ef","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/91db8b7c-208d-4367-8dca-9b578ab62edb","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843034,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNH0.bYZ28kOHGOw3yLJCd7I0XMMP_qi6_KVwaWbOOOjg-M4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f1734abd6f5b1a72297d40f83a4285ef","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/91db8b7c-208d-4367-8dca-9b578ab62edb","requestID":"f1734abd6f5b1a72297d40f83a4285ef"} experiment-1 | {"level":"info","message":"GET /experiments/91db8b7c-208d-4367-8dca-9b578ab62edb 200 11ms","method":"GET","requestID":"f1734abd6f5b1a72297d40f83a4285ef","responseTime":11,"status":200,"url":"/experiments/91db8b7c-208d-4367-8dca-9b578ab62edb"} gateway-1 | {"time_local":"28/Apr/2025:12:23:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/91db8b7c-208d-4367-8dca-9b578ab62edb HTTP/1.1","status": "200","body_bytes_sent":"888","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f1734abd6f5b1a72297d40f83a4285ef"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNH0.bYZ28kOHGOw3yLJCd7I0XMMP_qi6_KVwaWbOOOjg-M4","level":"info","message":"auth send jwt","requestID":"19a120f0c87f56f3b111d378c653ee8a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"19a120f0c87f56f3b111d378c653ee8a","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/91db8b7c-208d-4367-8dca-9b578ab62edb","requestID":"19a120f0c87f56f3b111d378c653ee8a"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:54Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.643687,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:54Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/91db8b7c-208d-4367-8dca-9b578ab62edb","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"19a120f0c87f56f3b111d378c653ee8a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/91db8b7c-208d-4367-8dca-9b578ab62edb","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843034,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNH0.bYZ28kOHGOw3yLJCd7I0XMMP_qi6_KVwaWbOOOjg-M4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"19a120f0c87f56f3b111d378c653ee8a","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/91db8b7c-208d-4367-8dca-9b578ab62edb"},"level":"info","message":"Attempting to finish experiment","requestID":"19a120f0c87f56f3b111d378c653ee8a"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"a6c46d90-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:54Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.710665,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:54Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/078b1547-e005-47da-a887-60a1cb2689c9","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a6c46d90-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:http://localhost/peerconnections/078b1547-e005-47da-a887-60a1cb2689c9","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843034,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNH0.bYZ28kOHGOw3yLJCd7I0XMMP_qi6_KVwaWbOOOjg-M4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"a6c46d90-242b-11f0-a4ab-3996a0934271","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"device":"d72ce8a3-1635-45bc-9a7b-dfb4128a8bac","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d72ce8a3-1635-45bc-9a7b-dfb4128a8bac","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d72ce8a3-1635-45bc-9a7b-dfb4128a8bac","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c7c93faa-5b4a-412e-9b04-602609c8e0fd","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c7c93faa-5b4a-412e-9b04-602609c8e0fd","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c7c93faa-5b4a-412e-9b04-602609c8e0fd","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/078b1547-e005-47da-a887-60a1cb2689c9' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/078b1547-e005-47da-a887-60a1cb2689c9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"078b1547-e005-47da-a887-60a1cb2689c9","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F078b1547-e005-47da-a887-60a1cb2689c9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F078b1547-e005-47da-a887-60a1cb2689c9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"a336453e-34ad-4461-a45f-fc4b28295c23","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843034.8973274} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f7d940a1-352e-4981-9e3d-b3bfb901d8ab","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843034.8975744} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c946cdab35f0707ae10539969f54229c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c946cdab35f0707ae10539969f54229c","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9f1d456f6f0f6ca5f84dd01fb07f99eb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9f1d456f6f0f6ca5f84dd01fb07f99eb","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/078b1547-e005-47da-a887-60a1cb2689c9"}}},"level":"info","message":"received a callback","requestID":"c946cdab35f0707ae10539969f54229c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 31ms","method":"POST","requestID":"a6c46d90-242b-11f0-a4ab-3996a0934271","responseTime":31,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/078b1547-e005-47da-a887-60a1cb2689c9"}}},"level":"info","message":"received a callback","requestID":"9f1d456f6f0f6ca5f84dd01fb07f99eb"} device-1 | {"data":{"peerconnection":"078b1547-e005-47da-a887-60a1cb2689c9","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"a6c46d90-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"DELETE /peerconnections/078b1547-e005-47da-a887-60a1cb2689c9 204 93ms","method":"DELETE","requestID":"a6c46d90-242b-11f0-a4ab-3996a0934271","responseTime":93,"status":204,"url":"/peerconnections/078b1547-e005-47da-a887-60a1cb2689c9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/91db8b7c-208d-4367-8dca-9b578ab62edb"},"level":"info","message":"Successfully finished experiment","requestID":"19a120f0c87f56f3b111d378c653ee8a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a6d55d80-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:54Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd72ce8a3-1635-45bc-9a7b-dfb4128a8bac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"76d51a20-2630-4323-9725-6cfa71555272","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843034.9969716} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.843343,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a6d55d80-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a6d55d80-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a6d55d80-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac/signaling 200 33ms","method":"POST","requestID":"a6d55d80-242b-11f0-a4ab-3996a0934271","responseTime":33,"status":200,"url":"/devices/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a6dab4b0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F91db8b7c-208d-4367-8dca-9b578ab62edb': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F91db8b7c-208d-4367-8dca-9b578ab62edb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"62d1e2e9-8cc3-4d39-8172-b2c30f44c2c7","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.0041611} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7d4bf6cf-86e3-4929-bb31-33056e2a1dd0","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.0044816} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"19a120f0c87f56f3b111d378c653ee8a","responseTime":41,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:55Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7c93faa-5b4a-412e-9b04-602609c8e0fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ee0db66a-51bb-4a80-9bbd-485d49520525","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.0091796} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.18606,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a6dab4b0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a6dab4b0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a6dab4b0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd/signaling 200 10ms","method":"POST","requestID":"a6dab4b0-242b-11f0-a4ab-3996a0934271","responseTime":10,"status":200,"url":"/devices/c7c93faa-5b4a-412e-9b04-602609c8e0fd/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/91db8b7c-208d-4367-8dca-9b578ab62edb","requestID":"19a120f0c87f56f3b111d378c653ee8a"} gateway-1 | {"time_local":"28/Apr/2025:12:23:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/91db8b7c-208d-4367-8dca-9b578ab62edb HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.237","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"19a120f0c87f56f3b111d378c653ee8a"} experiment-1 | {"level":"info","message":"DELETE /experiments/91db8b7c-208d-4367-8dca-9b578ab62edb 204 209ms","method":"DELETE","requestID":"19a120f0c87f56f3b111d378c653ee8a","responseTime":209,"status":204,"url":"/experiments/91db8b7c-208d-4367-8dca-9b578ab62edb"} gateway-1 | {"time_local":"28/Apr/2025:12:23:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2548","request_time":"2.873","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"c98e67a6c7fa80497490d49c88a8b76d"} gateway-1 | {"time_local":"28/Apr/2025:12:23:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2548","request_time":"2.884","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"133a183d2d662445c54d26fbada04a8f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 163ms","method":"POST","requestID":"c946cdab35f0707ae10539969f54229c","responseTime":163,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:23: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.190","http_referrer":"","http_user_agent":"node-fetch","requestID":"c946cdab35f0707ae10539969f54229c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNX0.Ni1WHUhzNLL-mha9NEAi4o4DFhFlf_mgBjqbQTSi9Co","level":"info","message":"auth send jwt","requestID":"308f8b3392eb748cc23d3b0d2ce5c1b8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 163ms","method":"POST","requestID":"9f1d456f6f0f6ca5f84dd01fb07f99eb","responseTime":163,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:23: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.191","http_referrer":"","http_user_agent":"node-fetch","requestID":"9f1d456f6f0f6ca5f84dd01fb07f99eb"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"308f8b3392eb748cc23d3b0d2ce5c1b8","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/c7c93faa-5b4a-412e-9b04-602609c8e0fd' closed"} device-1 | {"level":"info","message":"postDevices called","requestID":"308f8b3392eb748cc23d3b0d2ce5c1b8"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:55Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.780931,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"308f8b3392eb748cc23d3b0d2ce5c1b8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843035,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNX0.Ni1WHUhzNLL-mha9NEAi4o4DFhFlf_mgBjqbQTSi9Co"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"308f8b3392eb748cc23d3b0d2ce5c1b8","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/d72ce8a3-1635-45bc-9a7b-dfb4128a8bac' 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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec16f3a3-b2ee-46f9-9881-0118cf43aeeb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6859ba4b-1009-4a24-a8ef-bd74a45e417f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.109849} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"308f8b3392eb748cc23d3b0d2ce5c1b8","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e4f3379c-6a84-437a-9700-79869b196415","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.1396198} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"308f8b3392eb748cc23d3b0d2ce5c1b8","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec16f3a3-b2ee-46f9-9881-0118cf43aeeb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"f99cbd54-8b08-497c-81ad-184d4a149d61","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.152722} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fd4dcf9f-f61b-4621-bfdb-55d6ba4336c5","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.1529012} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"308f8b3392eb748cc23d3b0d2ce5c1b8","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec16f3a3-b2ee-46f9-9881-0118cf43aeeb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec16f3a3-b2ee-46f9-9881-0118cf43aeeb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:55.152706420Z"}]},"request_id":"4c7117c0-6099-49a4-8c69-a2d07fab96a3","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.158307} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"308f8b3392eb748cc23d3b0d2ce5c1b8","responseTime":4,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"28/Apr/2025:12:23:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.127","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"308f8b3392eb748cc23d3b0d2ce5c1b8"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"308f8b3392eb748cc23d3b0d2ce5c1b8"} device-1 | {"level":"info","message":"POST /devices? 201 120ms","method":"POST","requestID":"308f8b3392eb748cc23d3b0d2ce5c1b8","responseTime":120,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNX0.Ni1WHUhzNLL-mha9NEAi4o4DFhFlf_mgBjqbQTSi9Co","level":"info","message":"auth send jwt","requestID":"b16faecfb6bd1cfbaab18e6ac9df603f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b16faecfb6bd1cfbaab18e6ac9df603f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b16faecfb6bd1cfbaab18e6ac9df603f"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:55Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.832976,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b16faecfb6bd1cfbaab18e6ac9df603f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843035,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNX0.Ni1WHUhzNLL-mha9NEAi4o4DFhFlf_mgBjqbQTSi9Co"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b16faecfb6bd1cfbaab18e6ac9df603f","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe15c43a-a959-4b74-b53a-52d718437130","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c59899ee-f401-4736-a39a-886913ae2ce7","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.2433846} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b16faecfb6bd1cfbaab18e6ac9df603f","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c6ad0546-2457-4c02-b4cd-a087e8d74b6e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.248245} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"b16faecfb6bd1cfbaab18e6ac9df603f","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe15c43a-a959-4b74-b53a-52d718437130","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"9e22d774-c361-4e08-85fd-91bb9eb1b61d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.2593374} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a8ebcb44-3615-4498-8ab8-08cd6431fb48","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.2596776} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"b16faecfb6bd1cfbaab18e6ac9df603f","responseTime":34,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe15c43a-a959-4b74-b53a-52d718437130","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbe15c43a-a959-4b74-b53a-52d718437130","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:55.259325765Z"}]},"request_id":"158a8ef6-d2e8-4741-977a-c7ed376ce0e3","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.2841156} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b16faecfb6bd1cfbaab18e6ac9df603f","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b16faecfb6bd1cfbaab18e6ac9df603f"} device-1 | {"level":"info","message":"POST /devices? 201 93ms","method":"POST","requestID":"b16faecfb6bd1cfbaab18e6ac9df603f","responseTime":93,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:23:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.097","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b16faecfb6bd1cfbaab18e6ac9df603f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNX0.Ni1WHUhzNLL-mha9NEAi4o4DFhFlf_mgBjqbQTSi9Co","level":"info","message":"auth send jwt","requestID":"83d853065c8af76c2b62643dab849698"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"83d853065c8af76c2b62643dab849698","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"83d853065c8af76c2b62643dab849698"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:55Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.71987,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"83d853065c8af76c2b62643dab849698","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843035,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNX0.Ni1WHUhzNLL-mha9NEAi4o4DFhFlf_mgBjqbQTSi9Co"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"83d853065c8af76c2b62643dab849698","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12697438-f511-43d2-8ef3-4c58c3d49b51","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"df2bf7b5-52bb-4362-b898-8f3019ca2e31","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.3294213} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"83d853065c8af76c2b62643dab849698","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9568c1cd-b414-419f-a177-95f470d4022d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.3334699} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"83d853065c8af76c2b62643dab849698","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12697438-f511-43d2-8ef3-4c58c3d49b51","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"1cc828ab-f78d-4899-92d4-9a964f1dca05","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.3462358} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cac1313b-7d0f-427f-818b-c7b071e2f0c6","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.3464558} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"83d853065c8af76c2b62643dab849698","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12697438-f511-43d2-8ef3-4c58c3d49b51","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F12697438-f511-43d2-8ef3-4c58c3d49b51","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:55.346222575Z"}]},"request_id":"6e222ae9-a33e-4a5a-9c33-57706d376e6a","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.3501546} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"83d853065c8af76c2b62643dab849698","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"83d853065c8af76c2b62643dab849698"} device-1 | {"level":"info","message":"POST /devices? 201 62ms","method":"POST","requestID":"83d853065c8af76c2b62643dab849698","responseTime":62,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:23:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.064","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"83d853065c8af76c2b62643dab849698"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNX0.Ni1WHUhzNLL-mha9NEAi4o4DFhFlf_mgBjqbQTSi9Co","level":"info","message":"auth send jwt","requestID":"4eec8daf4c61676eee599c6f87811241"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4eec8daf4c61676eee599c6f87811241","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"4eec8daf4c61676eee599c6f87811241"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:55Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.699993,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"4eec8daf4c61676eee599c6f87811241","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843035,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNX0.Ni1WHUhzNLL-mha9NEAi4o4DFhFlf_mgBjqbQTSi9Co"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4eec8daf4c61676eee599c6f87811241","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2cabef07-37c4-4b88-88b5-29ad014ceac5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"05373f1e-6cb3-4b2e-abb3-37603d11e83a","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.3988657} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4eec8daf4c61676eee599c6f87811241","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"56bcf40e-30d8-4fb9-a590-c7290504f71c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.4279768} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"4eec8daf4c61676eee599c6f87811241","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2cabef07-37c4-4b88-88b5-29ad014ceac5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"152dbe8f-2097-43db-86fd-eefc6de87f00","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.4374146} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2617842c-05a0-4fbc-90d0-aa622d424e0d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.4375346} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"4eec8daf4c61676eee599c6f87811241","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2cabef07-37c4-4b88-88b5-29ad014ceac5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2cabef07-37c4-4b88-88b5-29ad014ceac5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:55.437398722Z"}]},"request_id":"db0b5109-252e-40eb-ad0a-5fee04fcf6ea","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.4413967} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4eec8daf4c61676eee599c6f87811241","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"4eec8daf4c61676eee599c6f87811241"} gateway-1 | {"time_local":"28/Apr/2025:12:23:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.066","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4eec8daf4c61676eee599c6f87811241"} device-1 | {"level":"info","message":"POST /devices? 201 62ms","method":"POST","requestID":"4eec8daf4c61676eee599c6f87811241","responseTime":62,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNX0.Ni1WHUhzNLL-mha9NEAi4o4DFhFlf_mgBjqbQTSi9Co","level":"info","message":"auth send jwt","requestID":"dfd10e8d9e8cb73e18eb92570bcad4f7"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dfd10e8d9e8cb73e18eb92570bcad4f7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"dfd10e8d9e8cb73e18eb92570bcad4f7"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:55Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.735744,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"dfd10e8d9e8cb73e18eb92570bcad4f7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843035,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNX0.Ni1WHUhzNLL-mha9NEAi4o4DFhFlf_mgBjqbQTSi9Co"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"dfd10e8d9e8cb73e18eb92570bcad4f7","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb636e8c-3346-4a58-a8b4-747d752f5f7d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e0d8c667-1314-4cef-9852-dcf373d51526","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.4881477} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dfd10e8d9e8cb73e18eb92570bcad4f7","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a6d9feee-b08e-4462-b8ec-961046164138","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.491912} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"dfd10e8d9e8cb73e18eb92570bcad4f7","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb636e8c-3346-4a58-a8b4-747d752f5f7d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"2bf0618b-ea40-4d24-93a5-86d3ef2cc829","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.5295143} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"81a507e3-023f-4946-9c02-012f0c63b36f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.5295951} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"dfd10e8d9e8cb73e18eb92570bcad4f7","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb636e8c-3346-4a58-a8b4-747d752f5f7d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb636e8c-3346-4a58-a8b4-747d752f5f7d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:55.529499882Z"}]},"request_id":"8aaa6e65-07b2-4222-8731-5b58cff44faa","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.533009} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"dfd10e8d9e8cb73e18eb92570bcad4f7","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"dfd10e8d9e8cb73e18eb92570bcad4f7"} gateway-1 | {"time_local":"28/Apr/2025:12:23:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.090","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dfd10e8d9e8cb73e18eb92570bcad4f7"} device-1 | {"level":"info","message":"POST /devices? 201 61ms","method":"POST","requestID":"dfd10e8d9e8cb73e18eb92570bcad4f7","responseTime":61,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNX0.Ni1WHUhzNLL-mha9NEAi4o4DFhFlf_mgBjqbQTSi9Co","level":"info","message":"auth send jwt","requestID":"f6410e5f770ca415ccace339cbdefa8b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f6410e5f770ca415ccace339cbdefa8b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f6410e5f770ca415ccace339cbdefa8b"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:55Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.834053,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"f6410e5f770ca415ccace339cbdefa8b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843035,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNX0.Ni1WHUhzNLL-mha9NEAi4o4DFhFlf_mgBjqbQTSi9Co"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"f6410e5f770ca415ccace339cbdefa8b","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F471d71fe-7cba-49e2-b16b-c0ed54c154f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"858dee2c-537d-4dd3-875a-1c4b800c4eaa","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.5766475} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f6410e5f770ca415ccace339cbdefa8b","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7ead0134-2887-4d9c-8abf-514d0b5ebc04","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.5805924} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"f6410e5f770ca415ccace339cbdefa8b","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F471d71fe-7cba-49e2-b16b-c0ed54c154f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"4ed3ba1b-eac4-431a-9b75-030d6283fd31","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.5903375} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1c6b5c16-9405-4a63-8095-8a7b9e58e3c4","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.5904696} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"f6410e5f770ca415ccace339cbdefa8b","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F471d71fe-7cba-49e2-b16b-c0ed54c154f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F471d71fe-7cba-49e2-b16b-c0ed54c154f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:55.590321099Z"}]},"request_id":"28ec1719-28f6-457b-b6d2-7d0adc3c48b7","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.594519} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f6410e5f770ca415ccace339cbdefa8b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f6410e5f770ca415ccace339cbdefa8b"} gateway-1 | {"time_local":"28/Apr/2025:12:23:55 +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":"f6410e5f770ca415ccace339cbdefa8b"} device-1 | {"level":"info","message":"POST /devices? 201 56ms","method":"POST","requestID":"f6410e5f770ca415ccace339cbdefa8b","responseTime":56,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNX0.Ni1WHUhzNLL-mha9NEAi4o4DFhFlf_mgBjqbQTSi9Co","level":"info","message":"auth send jwt","requestID":"e33a588f1661af92deb088135afd7612"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e33a588f1661af92deb088135afd7612","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e33a588f1661af92deb088135afd7612"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:55Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.79701,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e33a588f1661af92deb088135afd7612","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843035,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNX0.Ni1WHUhzNLL-mha9NEAi4o4DFhFlf_mgBjqbQTSi9Co"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e33a588f1661af92deb088135afd7612","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6815a7b0-d490-4568-b195-85c3fd9f70d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a8268118-40cc-48e1-9d1a-a170c9a0afcb","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.6144505} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e33a588f1661af92deb088135afd7612","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ea5477a3-e2d9-4f33-b470-4a7fb2c695ce","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.618217} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"e33a588f1661af92deb088135afd7612","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6815a7b0-d490-4568-b195-85c3fd9f70d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"6ccbec4a-a73c-4a47-b188-9a6aff578beb","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.6301322} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"674ca55e-6256-484d-aabb-ed1b1c10ea19","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.6304467} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"e33a588f1661af92deb088135afd7612","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6815a7b0-d490-4568-b195-85c3fd9f70d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6815a7b0-d490-4568-b195-85c3fd9f70d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:55.630120815Z"}]},"request_id":"4a510695-c2f5-4792-86fd-c074d42c99bf","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.6339643} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e33a588f1661af92deb088135afd7612","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e33a588f1661af92deb088135afd7612"} gateway-1 | {"time_local":"28/Apr/2025:12:23:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e33a588f1661af92deb088135afd7612"} device-1 | {"level":"info","message":"POST /devices? 201 35ms","method":"POST","requestID":"e33a588f1661af92deb088135afd7612","responseTime":35,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNX0.Ni1WHUhzNLL-mha9NEAi4o4DFhFlf_mgBjqbQTSi9Co","level":"info","message":"auth send jwt","requestID":"499394a41b18867d36f592a0ef59a1cd"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"499394a41b18867d36f592a0ef59a1cd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"499394a41b18867d36f592a0ef59a1cd"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:55Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.708712,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"499394a41b18867d36f592a0ef59a1cd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843035,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNX0.Ni1WHUhzNLL-mha9NEAi4o4DFhFlf_mgBjqbQTSi9Co"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"499394a41b18867d36f592a0ef59a1cd","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05531426-99ae-4905-9173-c23fdad96bf8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"cc1316ca-511f-47d6-bc2b-47a1768ff596","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.6558561} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"499394a41b18867d36f592a0ef59a1cd","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"47927f0e-e23f-4a37-bf5d-7a5cd2cdf4b7","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.6595986} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"499394a41b18867d36f592a0ef59a1cd","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05531426-99ae-4905-9173-c23fdad96bf8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"6090acb2-8ecd-493a-b860-8c44a4267bfb","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.6682467} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d8e49675-68d8-4ff7-aaa1-0da0d4de90f8","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.6684248} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"499394a41b18867d36f592a0ef59a1cd","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05531426-99ae-4905-9173-c23fdad96bf8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05531426-99ae-4905-9173-c23fdad96bf8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:55.668233283Z"}]},"request_id":"5fe91118-c67d-4b5f-8769-c71e1a03fa0e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.6717665} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"499394a41b18867d36f592a0ef59a1cd","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"499394a41b18867d36f592a0ef59a1cd"} gateway-1 | {"time_local":"28/Apr/2025:12:23:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"499394a41b18867d36f592a0ef59a1cd"} device-1 | {"level":"info","message":"POST /devices? 201 33ms","method":"POST","requestID":"499394a41b18867d36f592a0ef59a1cd","responseTime":33,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNX0.Ni1WHUhzNLL-mha9NEAi4o4DFhFlf_mgBjqbQTSi9Co","level":"info","message":"auth send jwt","requestID":"8d681c4b9b71aa09ae44f08e38f61b15"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8d681c4b9b71aa09ae44f08e38f61b15","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"8d681c4b9b71aa09ae44f08e38f61b15"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:55Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.689514,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"8d681c4b9b71aa09ae44f08e38f61b15","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843035,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNX0.Ni1WHUhzNLL-mha9NEAi4o4DFhFlf_mgBjqbQTSi9Co"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8d681c4b9b71aa09ae44f08e38f61b15","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3532d045-7c94-4468-a0df-31cc4a34a981","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"aa76b4c2-5641-4c40-b754-a9ff1db267d2","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.722019} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8d681c4b9b71aa09ae44f08e38f61b15","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7e5a12eb-f74e-4610-bc91-ff9471ac8133","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.7259336} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"8d681c4b9b71aa09ae44f08e38f61b15","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3532d045-7c94-4468-a0df-31cc4a34a981","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"51bcc8af-d591-4d5c-9126-51e171e2c20e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.7375886} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a123db39-7ae5-4dd3-89e3-0417f5e2cf00","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.7378407} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"8d681c4b9b71aa09ae44f08e38f61b15","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3532d045-7c94-4468-a0df-31cc4a34a981","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3532d045-7c94-4468-a0df-31cc4a34a981","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:55.737575894Z"}]},"request_id":"686c701e-cec8-4a7f-a4f4-2f7501933767","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.762307} authorization-1 | {"level":"info","message":"POST /relations/query 200 23ms","method":"POST","requestID":"8d681c4b9b71aa09ae44f08e38f61b15","responseTime":23,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"8d681c4b9b71aa09ae44f08e38f61b15"} gateway-1 | {"time_local":"28/Apr/2025:12:23:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.089","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8d681c4b9b71aa09ae44f08e38f61b15"} device-1 | {"level":"info","message":"POST /devices? 201 83ms","method":"POST","requestID":"8d681c4b9b71aa09ae44f08e38f61b15","responseTime":83,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNX0.Ni1WHUhzNLL-mha9NEAi4o4DFhFlf_mgBjqbQTSi9Co","level":"info","message":"auth send jwt","requestID":"b3bc5e93f2ee3c987d445ab197672c68"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b3bc5e93f2ee3c987d445ab197672c68","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b3bc5e93f2ee3c987d445ab197672c68"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:55Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.65116,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b3bc5e93f2ee3c987d445ab197672c68","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843035,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNX0.Ni1WHUhzNLL-mha9NEAi4o4DFhFlf_mgBjqbQTSi9Co"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b3bc5e93f2ee3c987d445ab197672c68","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc05cd677-7a22-401d-9c08-477b653eaa16","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9e2ec8f8-8dbe-4b9f-98a1-3e96a5cbe7b6","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.7852232} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b3bc5e93f2ee3c987d445ab197672c68","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"024a8a5e-43ff-47d2-b960-47a5111196ce","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.8091364} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","method":"POST","requestID":"b3bc5e93f2ee3c987d445ab197672c68","responseTime":23,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc05cd677-7a22-401d-9c08-477b653eaa16","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"8c2327c8-98a1-4d8d-aa42-c15c54b94d8f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.818431} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"72e35a85-e8e7-4c76-860f-3f50a4d48663","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.818559} authorization-1 | {"level":"info","message":"POST /relations/update 200 31ms","method":"POST","requestID":"b3bc5e93f2ee3c987d445ab197672c68","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc05cd677-7a22-401d-9c08-477b653eaa16","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc05cd677-7a22-401d-9c08-477b653eaa16","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:55.818417519Z"}]},"request_id":"f59f70c5-fd18-4d29-8331-41671ad1cb7d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.8219836} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b3bc5e93f2ee3c987d445ab197672c68","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b3bc5e93f2ee3c987d445ab197672c68"} device-1 | {"level":"info","message":"POST /devices? 201 55ms","method":"POST","requestID":"b3bc5e93f2ee3c987d445ab197672c68","responseTime":55,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:23:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"278","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b3bc5e93f2ee3c987d445ab197672c68"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNX0.Ni1WHUhzNLL-mha9NEAi4o4DFhFlf_mgBjqbQTSi9Co","level":"info","message":"auth send jwt","requestID":"c7b78790a1c61a94bd6092b392462079"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c7b78790a1c61a94bd6092b392462079","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c7b78790a1c61a94bd6092b392462079"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:55Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.678156,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c7b78790a1c61a94bd6092b392462079","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843035,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNX0.Ni1WHUhzNLL-mha9NEAi4o4DFhFlf_mgBjqbQTSi9Co"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"c7b78790a1c61a94bd6092b392462079","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0c4f05c-de70-42af-be61-8efdc5af609a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f18dccca-a6bb-4664-a149-21228a8a26ff","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.869485} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c7b78790a1c61a94bd6092b392462079","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4aae4092-7f5c-4b1d-8bc4-0957329abae8","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.8741407} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"c7b78790a1c61a94bd6092b392462079","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0c4f05c-de70-42af-be61-8efdc5af609a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"6354153d-6ced-43d1-8092-8030bec843e0","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.9052386} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"059a5282-9689-48f1-bb12-6cf34398bc3e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.9054868} authorization-1 | {"level":"info","message":"POST /relations/update 200 33ms","method":"POST","requestID":"c7b78790a1c61a94bd6092b392462079","responseTime":33,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0c4f05c-de70-42af-be61-8efdc5af609a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0c4f05c-de70-42af-be61-8efdc5af609a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:55.905217282Z"}]},"request_id":"a52e12f6-088d-4687-8a3c-e524505f9512","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.909009} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c7b78790a1c61a94bd6092b392462079","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c7b78790a1c61a94bd6092b392462079"} gateway-1 | {"time_local":"28/Apr/2025:12:23:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1069","request_time":"0.086","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c7b78790a1c61a94bd6092b392462079"} device-1 | {"level":"info","message":"POST /devices? 201 82ms","method":"POST","requestID":"c7b78790a1c61a94bd6092b392462079","responseTime":82,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNX0.Ni1WHUhzNLL-mha9NEAi4o4DFhFlf_mgBjqbQTSi9Co","level":"info","message":"auth send jwt","requestID":"e71eb7d0cf8db3e97417af834bf6fbcd"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e71eb7d0cf8db3e97417af834bf6fbcd","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e71eb7d0cf8db3e97417af834bf6fbcd"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:55Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.768717,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e71eb7d0cf8db3e97417af834bf6fbcd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843035,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNX0.Ni1WHUhzNLL-mha9NEAi4o4DFhFlf_mgBjqbQTSi9Co"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e71eb7d0cf8db3e97417af834bf6fbcd","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8aca967f-a6a0-4ccd-94bf-e446bf3735b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"055f3a74-e42d-41a2-9f3c-86e69374065c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.9566596} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e71eb7d0cf8db3e97417af834bf6fbcd","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0afcfec7-e655-4580-8d65-8fb75f3ad8bb","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.9604895} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"e71eb7d0cf8db3e97417af834bf6fbcd","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8aca967f-a6a0-4ccd-94bf-e446bf3735b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"193a5af9-a4c6-4555-95d3-dc8fac23a4fa","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.9706666} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c5579779-d99b-4754-8381-69d7371d0584","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.97072} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"e71eb7d0cf8db3e97417af834bf6fbcd","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8aca967f-a6a0-4ccd-94bf-e446bf3735b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8aca967f-a6a0-4ccd-94bf-e446bf3735b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:55.970648647Z"}]},"request_id":"3fe65471-495e-4367-9ee1-bdfbc2a350f0","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843035.975353} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e71eb7d0cf8db3e97417af834bf6fbcd","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e71eb7d0cf8db3e97417af834bf6fbcd"} device-1 | {"level":"info","message":"POST /devices? 201 85ms","method":"POST","requestID":"e71eb7d0cf8db3e97417af834bf6fbcd","responseTime":85,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:23:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1347","request_time":"0.089","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e71eb7d0cf8db3e97417af834bf6fbcd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNn0.M1uycAah6WtnAr3wYGSRosSIToO55SwidUHWYXVD_oY","level":"info","message":"auth send jwt","requestID":"0f337b31b1e4a5cc0eb0c8f05a4f27a1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0f337b31b1e4a5cc0eb0c8f05a4f27a1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"0f337b31b1e4a5cc0eb0c8f05a4f27a1"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.763707,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"0f337b31b1e4a5cc0eb0c8f05a4f27a1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843036,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNn0.M1uycAah6WtnAr3wYGSRosSIToO55SwidUHWYXVD_oY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0f337b31b1e4a5cc0eb0c8f05a4f27a1","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feab53412-bd7a-4335-b2c2-2cf12a004225","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"89cbe995-8a9b-43ab-8e7f-523dc7c997c1","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843036.0247343} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"0f337b31b1e4a5cc0eb0c8f05a4f27a1","responseTime":26,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"02828c78-a7dd-4279-a5bf-bf843f87985e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843036.0529816} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"0f337b31b1e4a5cc0eb0c8f05a4f27a1","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feab53412-bd7a-4335-b2c2-2cf12a004225","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"a23d774f-29c5-49bc-90b2-52c93031b8d4","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843036.0635269} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"be1d975c-4908-4fa4-b149-5d07c8c82e10","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843036.0636532} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"0f337b31b1e4a5cc0eb0c8f05a4f27a1","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feab53412-bd7a-4335-b2c2-2cf12a004225","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feab53412-bd7a-4335-b2c2-2cf12a004225","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:56.063512191Z"}]},"request_id":"97ebea0a-c36b-426d-8a04-6d8e1a86b955","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843036.0672903} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0f337b31b1e4a5cc0eb0c8f05a4f27a1","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0f337b31b1e4a5cc0eb0c8f05a4f27a1"} gateway-1 | {"time_local":"28/Apr/2025:12:23:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1070","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0f337b31b1e4a5cc0eb0c8f05a4f27a1"} device-1 | {"level":"info","message":"POST /devices? 201 60ms","method":"POST","requestID":"0f337b31b1e4a5cc0eb0c8f05a4f27a1","responseTime":60,"status":201,"url":"/devices?"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"e2af4a9868148e738f1ccb117b6098ca"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNn0.M1uycAah6WtnAr3wYGSRosSIToO55SwidUHWYXVD_oY","level":"info","message":"auth send jwt","requestID":"e2af4a9868148e738f1ccb117b6098ca"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e2af4a9868148e738f1ccb117b6098ca","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.755882,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d0c4f05c-de70-42af-be61-8efdc5af609a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e2af4a9868148e738f1ccb117b6098ca","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/d0c4f05c-de70-42af-be61-8efdc5af609a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843036,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNn0.M1uycAah6WtnAr3wYGSRosSIToO55SwidUHWYXVD_oY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e2af4a9868148e738f1ccb117b6098ca","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0c4f05c-de70-42af-be61-8efdc5af609a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0c4f05c-de70-42af-be61-8efdc5af609a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:55.905217282Z"}]},"request_id":"b783829e-c235-4108-a9cc-0fa02d4b31e2","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843036.1046429} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e2af4a9868148e738f1ccb117b6098ca","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3ccaab23-5c7b-403b-b6dc-10b5bfc5b3a8","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843036.1098952} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"e2af4a9868148e738f1ccb117b6098ca","responseTime":4,"status":200,"url":"/relations/update"} gateway-1 | {"time_local":"28/Apr/2025:12:23:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/d0c4f05c-de70-42af-be61-8efdc5af609a? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e2af4a9868148e738f1ccb117b6098ca"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"e2af4a9868148e738f1ccb117b6098ca"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0c4f05c-de70-42af-be61-8efdc5af609a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0c4f05c-de70-42af-be61-8efdc5af609a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:55.905217282Z"}]},"request_id":"62739281-a2be-4b89-9147-24739badd29b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843036.121532} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e2af4a9868148e738f1ccb117b6098ca","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"PATCH /devices/d0c4f05c-de70-42af-be61-8efdc5af609a? 200 47ms","method":"PATCH","requestID":"e2af4a9868148e738f1ccb117b6098ca","responseTime":47,"status":200,"url":"/devices/d0c4f05c-de70-42af-be61-8efdc5af609a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNn0.M1uycAah6WtnAr3wYGSRosSIToO55SwidUHWYXVD_oY","level":"info","message":"auth send jwt","requestID":"28c0899c1b2c9e290dd003faa93812db"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"28c0899c1b2c9e290dd003faa93812db","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"28c0899c1b2c9e290dd003faa93812db"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.106502,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8aca967f-a6a0-4ccd-94bf-e446bf3735b6","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"28c0899c1b2c9e290dd003faa93812db","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/8aca967f-a6a0-4ccd-94bf-e446bf3735b6","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843036,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNn0.M1uycAah6WtnAr3wYGSRosSIToO55SwidUHWYXVD_oY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"28c0899c1b2c9e290dd003faa93812db","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8aca967f-a6a0-4ccd-94bf-e446bf3735b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8aca967f-a6a0-4ccd-94bf-e446bf3735b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:55.970648647Z"}]},"request_id":"7e914c71-9902-461c-a5b7-6ccde5ac7909","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843036.1597855} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"28c0899c1b2c9e290dd003faa93812db","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"af73206b-3064-49c1-8fda-5f6bfded7b07","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843036.1656253} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"28c0899c1b2c9e290dd003faa93812db","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8aca967f-a6a0-4ccd-94bf-e446bf3735b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8aca967f-a6a0-4ccd-94bf-e446bf3735b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:55.970648647Z"}]},"request_id":"724a7748-ba24-4644-b72e-23faeaf3f176","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843036.1988885} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"28c0899c1b2c9e290dd003faa93812db","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"28c0899c1b2c9e290dd003faa93812db"} gateway-1 | {"time_local":"28/Apr/2025:12:23:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/8aca967f-a6a0-4ccd-94bf-e446bf3735b6? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"28c0899c1b2c9e290dd003faa93812db"} device-1 | {"level":"info","message":"PATCH /devices/8aca967f-a6a0-4ccd-94bf-e446bf3735b6? 200 50ms","method":"PATCH","requestID":"28c0899c1b2c9e290dd003faa93812db","responseTime":50,"status":200,"url":"/devices/8aca967f-a6a0-4ccd-94bf-e446bf3735b6?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNn0.M1uycAah6WtnAr3wYGSRosSIToO55SwidUHWYXVD_oY","level":"info","message":"auth send jwt","requestID":"c60788742129fff7b69ced650b8167f0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c60788742129fff7b69ced650b8167f0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"c60788742129fff7b69ced650b8167f0"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.788617,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/eab53412-bd7a-4335-b2c2-2cf12a004225","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c60788742129fff7b69ced650b8167f0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/eab53412-bd7a-4335-b2c2-2cf12a004225","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843036,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNn0.M1uycAah6WtnAr3wYGSRosSIToO55SwidUHWYXVD_oY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c60788742129fff7b69ced650b8167f0","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feab53412-bd7a-4335-b2c2-2cf12a004225","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feab53412-bd7a-4335-b2c2-2cf12a004225","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:56.063512191Z"}]},"request_id":"04c5fb01-2751-4cf0-b858-a7417c452c19","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843036.215693} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c60788742129fff7b69ced650b8167f0","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aa89725d-21d1-49ce-93b8-4d622b449be3","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843036.2438323} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"c60788742129fff7b69ced650b8167f0","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feab53412-bd7a-4335-b2c2-2cf12a004225","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feab53412-bd7a-4335-b2c2-2cf12a004225","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:56.063512191Z"}]},"request_id":"3e6f90c9-3790-4ce2-8998-a3efce7e2f0c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843036.252737} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c60788742129fff7b69ced650b8167f0","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"c60788742129fff7b69ced650b8167f0"} device-1 | {"level":"info","message":"PATCH /devices/eab53412-bd7a-4335-b2c2-2cf12a004225? 200 50ms","method":"PATCH","requestID":"c60788742129fff7b69ced650b8167f0","responseTime":50,"status":200,"url":"/devices/eab53412-bd7a-4335-b2c2-2cf12a004225?"} gateway-1 | {"time_local":"28/Apr/2025:12:23:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/eab53412-bd7a-4335-b2c2-2cf12a004225? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c60788742129fff7b69ced650b8167f0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNn0.M1uycAah6WtnAr3wYGSRosSIToO55SwidUHWYXVD_oY","level":"info","message":"auth send jwt","requestID":"1dc514a38f249ee290c792949a839833"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1dc514a38f249ee290c792949a839833","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1dc514a38f249ee290c792949a839833"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.658378,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d0c4f05c-de70-42af-be61-8efdc5af609a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"1dc514a38f249ee290c792949a839833","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/d0c4f05c-de70-42af-be61-8efdc5af609a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843036,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNn0.M1uycAah6WtnAr3wYGSRosSIToO55SwidUHWYXVD_oY"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"1dc514a38f249ee290c792949a839833","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0c4f05c-de70-42af-be61-8efdc5af609a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd0c4f05c-de70-42af-be61-8efdc5af609a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:55.905217282Z"}]},"request_id":"6d08906e-ac68-4630-8fca-7c5016636592","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843036.2925463} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1dc514a38f249ee290c792949a839833","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.590686,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Received request.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Sent response.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.611372,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec16f3a3-b2ee-46f9-9881-0118cf43aeeb","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"1dc514a38f249ee290c792949a839833","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/ec16f3a3-b2ee-46f9-9881-0118cf43aeeb","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843036,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNn0.M1uycAah6WtnAr3wYGSRosSIToO55SwidUHWYXVD_oY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1dc514a38f249ee290c792949a839833","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/be15c43a-a959-4b74-b53a-52d718437130","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"1dc514a38f249ee290c792949a839833","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/be15c43a-a959-4b74-b53a-52d718437130","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843036,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNn0.M1uycAah6WtnAr3wYGSRosSIToO55SwidUHWYXVD_oY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1dc514a38f249ee290c792949a839833","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Received request.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Sent response.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.740514,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8aca967f-a6a0-4ccd-94bf-e446bf3735b6","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"1dc514a38f249ee290c792949a839833","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/8aca967f-a6a0-4ccd-94bf-e446bf3735b6","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843036,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNn0.M1uycAah6WtnAr3wYGSRosSIToO55SwidUHWYXVD_oY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1dc514a38f249ee290c792949a839833","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.663677,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/12697438-f511-43d2-8ef3-4c58c3d49b51","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"1dc514a38f249ee290c792949a839833","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/12697438-f511-43d2-8ef3-4c58c3d49b51","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843036,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNn0.M1uycAah6WtnAr3wYGSRosSIToO55SwidUHWYXVD_oY"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"1dc514a38f249ee290c792949a839833","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1dc514a38f249ee290c792949a839833"} gateway-1 | {"time_local":"28/Apr/2025:12:23:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d0c4f05c-de70-42af-be61-8efdc5af609a? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1dc514a38f249ee290c792949a839833"} device-1 | {"level":"info","message":"GET /devices/d0c4f05c-de70-42af-be61-8efdc5af609a? 200 45ms","method":"GET","requestID":"1dc514a38f249ee290c792949a839833","responseTime":45,"status":200,"url":"/devices/d0c4f05c-de70-42af-be61-8efdc5af609a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNn0.M1uycAah6WtnAr3wYGSRosSIToO55SwidUHWYXVD_oY","level":"info","message":"auth send jwt","requestID":"e38d9fed7ac79017be2709a73bf08ce6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e38d9fed7ac79017be2709a73bf08ce6","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e38d9fed7ac79017be2709a73bf08ce6"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.693657,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8aca967f-a6a0-4ccd-94bf-e446bf3735b6","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e38d9fed7ac79017be2709a73bf08ce6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/8aca967f-a6a0-4ccd-94bf-e446bf3735b6","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843036,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNn0.M1uycAah6WtnAr3wYGSRosSIToO55SwidUHWYXVD_oY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e38d9fed7ac79017be2709a73bf08ce6","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8aca967f-a6a0-4ccd-94bf-e446bf3735b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8aca967f-a6a0-4ccd-94bf-e446bf3735b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:55.970648647Z"}]},"request_id":"55bb5c35-c8ae-4de2-8b86-852cf5ebf5a5","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843036.338505} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e38d9fed7ac79017be2709a73bf08ce6","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.682143,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Received request.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Sent response.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.489596,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.481501,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2cabef07-37c4-4b88-88b5-29ad014ceac5","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e38d9fed7ac79017be2709a73bf08ce6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/2cabef07-37c4-4b88-88b5-29ad014ceac5","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843036,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNn0.M1uycAah6WtnAr3wYGSRosSIToO55SwidUHWYXVD_oY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e38d9fed7ac79017be2709a73bf08ce6","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fb636e8c-3346-4a58-a8b4-747d752f5f7d","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e38d9fed7ac79017be2709a73bf08ce6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/fb636e8c-3346-4a58-a8b4-747d752f5f7d","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843036,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNn0.M1uycAah6WtnAr3wYGSRosSIToO55SwidUHWYXVD_oY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e38d9fed7ac79017be2709a73bf08ce6","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/471d71fe-7cba-49e2-b16b-c0ed54c154f9","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e38d9fed7ac79017be2709a73bf08ce6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/471d71fe-7cba-49e2-b16b-c0ed54c154f9","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843036,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNn0.M1uycAah6WtnAr3wYGSRosSIToO55SwidUHWYXVD_oY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e38d9fed7ac79017be2709a73bf08ce6","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.665662,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Received request.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d0c4f05c-de70-42af-be61-8efdc5af609a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e38d9fed7ac79017be2709a73bf08ce6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/d0c4f05c-de70-42af-be61-8efdc5af609a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843036,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNn0.M1uycAah6WtnAr3wYGSRosSIToO55SwidUHWYXVD_oY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e38d9fed7ac79017be2709a73bf08ce6","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Sent response.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.897715,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56702","level":"info","msg":"Received request.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eab53412-bd7a-4335-b2c2-2cf12a004225","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e38d9fed7ac79017be2709a73bf08ce6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/eab53412-bd7a-4335-b2c2-2cf12a004225","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843036,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNn0.M1uycAah6WtnAr3wYGSRosSIToO55SwidUHWYXVD_oY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e38d9fed7ac79017be2709a73bf08ce6","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56702","level":"info","msg":"Sent response.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.66268,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6815a7b0-d490-4568-b195-85c3fd9f70d1","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e38d9fed7ac79017be2709a73bf08ce6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/6815a7b0-d490-4568-b195-85c3fd9f70d1","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843036,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNn0.M1uycAah6WtnAr3wYGSRosSIToO55SwidUHWYXVD_oY"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","method":"POST","requestID":"e38d9fed7ac79017be2709a73bf08ce6","responseTime":15,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e38d9fed7ac79017be2709a73bf08ce6"} gateway-1 | {"time_local":"28/Apr/2025:12:23:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8aca967f-a6a0-4ccd-94bf-e446bf3735b6? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.079","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e38d9fed7ac79017be2709a73bf08ce6"} device-1 | {"level":"info","message":"GET /devices/8aca967f-a6a0-4ccd-94bf-e446bf3735b6? 200 75ms","method":"GET","requestID":"e38d9fed7ac79017be2709a73bf08ce6","responseTime":75,"status":200,"url":"/devices/8aca967f-a6a0-4ccd-94bf-e446bf3735b6?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNn0.M1uycAah6WtnAr3wYGSRosSIToO55SwidUHWYXVD_oY","level":"info","message":"auth send jwt","requestID":"b07062543ac291c8f0035aa6fb533375"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b07062543ac291c8f0035aa6fb533375","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b07062543ac291c8f0035aa6fb533375"} authorization-1 | {"client_addr":"127.0.0.1:56702","level":"info","msg":"Received request.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56702","level":"info","msg":"Sent response.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.750965,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eab53412-bd7a-4335-b2c2-2cf12a004225","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b07062543ac291c8f0035aa6fb533375","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/eab53412-bd7a-4335-b2c2-2cf12a004225","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843036,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNn0.M1uycAah6WtnAr3wYGSRosSIToO55SwidUHWYXVD_oY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b07062543ac291c8f0035aa6fb533375","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feab53412-bd7a-4335-b2c2-2cf12a004225","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feab53412-bd7a-4335-b2c2-2cf12a004225","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:56.063512191Z"}]},"request_id":"b4fa145f-b387-473b-99d9-1cd27b6a17a7","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843036.4007056} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b07062543ac291c8f0035aa6fb533375","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56702","level":"info","msg":"Received request.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56702","level":"info","msg":"Sent response.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.933598,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Received request.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"client_addr":"127.0.0.1:33680","level":"info","msg":"Sent response.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.500851,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.672681,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/05531426-99ae-4905-9173-c23fdad96bf8","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b07062543ac291c8f0035aa6fb533375","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/05531426-99ae-4905-9173-c23fdad96bf8","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843036,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNn0.M1uycAah6WtnAr3wYGSRosSIToO55SwidUHWYXVD_oY"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","method":"POST","requestID":"b07062543ac291c8f0035aa6fb533375","responseTime":34,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3532d045-7c94-4468-a0df-31cc4a34a981","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b07062543ac291c8f0035aa6fb533375","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/3532d045-7c94-4468-a0df-31cc4a34a981","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843036,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNn0.M1uycAah6WtnAr3wYGSRosSIToO55SwidUHWYXVD_oY"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","method":"POST","requestID":"b07062543ac291c8f0035aa6fb533375","responseTime":34,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c05cd677-7a22-401d-9c08-477b653eaa16","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b07062543ac291c8f0035aa6fb533375","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/c05cd677-7a22-401d-9c08-477b653eaa16","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843036,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNn0.M1uycAah6WtnAr3wYGSRosSIToO55SwidUHWYXVD_oY"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","method":"POST","requestID":"b07062543ac291c8f0035aa6fb533375","responseTime":34,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.855764,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d0c4f05c-de70-42af-be61-8efdc5af609a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b07062543ac291c8f0035aa6fb533375","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/d0c4f05c-de70-42af-be61-8efdc5af609a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843036,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNn0.M1uycAah6WtnAr3wYGSRosSIToO55SwidUHWYXVD_oY"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","method":"POST","requestID":"b07062543ac291c8f0035aa6fb533375","responseTime":34,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b07062543ac291c8f0035aa6fb533375"} gateway-1 | {"time_local":"28/Apr/2025:12:23:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/eab53412-bd7a-4335-b2c2-2cf12a004225? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b07062543ac291c8f0035aa6fb533375"} device-1 | {"level":"info","message":"GET /devices/eab53412-bd7a-4335-b2c2-2cf12a004225? 200 51ms","method":"GET","requestID":"b07062543ac291c8f0035aa6fb533375","responseTime":51,"status":200,"url":"/devices/eab53412-bd7a-4335-b2c2-2cf12a004225?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNn0.M1uycAah6WtnAr3wYGSRosSIToO55SwidUHWYXVD_oY","level":"info","message":"auth send jwt","requestID":"bb4c7dab369d0436c6629a7d1465cf2b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bb4c7dab369d0436c6629a7d1465cf2b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"bb4c7dab369d0436c6629a7d1465cf2b"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.686543,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bb4c7dab369d0436c6629a7d1465cf2b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843036,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNn0.M1uycAah6WtnAr3wYGSRosSIToO55SwidUHWYXVD_oY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bb4c7dab369d0436c6629a7d1465cf2b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ee029a1-633a-440f-8794-5a1b8bfad062","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"54ca4189-d6ed-4607-a592-1e2776f2cd32","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843036.549748} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bb4c7dab369d0436c6629a7d1465cf2b","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b64a39b3-a12b-4ea8-8c21-3dc872b1e1cd","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843036.5784252} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"bb4c7dab369d0436c6629a7d1465cf2b","responseTime":28,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ee029a1-633a-440f-8794-5a1b8bfad062","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"c8bdf142-2e5b-4fe0-ba57-03cb8c332e3d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843036.5895658} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"51a4b4fe-5337-4fca-9afa-652ee7b2ec2e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843036.5897746} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"bb4c7dab369d0436c6629a7d1465cf2b","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ee029a1-633a-440f-8794-5a1b8bfad062","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ee029a1-633a-440f-8794-5a1b8bfad062","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:56.589546955Z"}]},"request_id":"90a11b01-5c87-4b8a-a20c-c6a9cefcdace","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843036.5942175} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bb4c7dab369d0436c6629a7d1465cf2b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"bb4c7dab369d0436c6629a7d1465cf2b"} gateway-1 | {"time_local":"28/Apr/2025:12:23:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"284","request_time":"0.151","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bb4c7dab369d0436c6629a7d1465cf2b"} device-1 | {"level":"info","message":"POST /devices? 201 147ms","method":"POST","requestID":"bb4c7dab369d0436c6629a7d1465cf2b","responseTime":147,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNn0.M1uycAah6WtnAr3wYGSRosSIToO55SwidUHWYXVD_oY","level":"info","message":"auth send jwt","requestID":"1131f32e5497abeb7cbba756ae92096b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1131f32e5497abeb7cbba756ae92096b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"1131f32e5497abeb7cbba756ae92096b"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.676202,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"1131f32e5497abeb7cbba756ae92096b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843036,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNn0.M1uycAah6WtnAr3wYGSRosSIToO55SwidUHWYXVD_oY"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"1131f32e5497abeb7cbba756ae92096b","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F787334d4-5f64-4939-96f9-162855117d6b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1cbb429d-035e-4f66-a54c-6025d37e23d6","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843036.6328115} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1131f32e5497abeb7cbba756ae92096b","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6e16635b-cf76-4a0c-a36a-19ee87a15f9b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843036.636817} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"1131f32e5497abeb7cbba756ae92096b","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F787334d4-5f64-4939-96f9-162855117d6b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"36f27ff8-e589-4ead-80b6-6a34c085e4b7","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843036.6500082} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5fc8ff16-6560-46b2-9e3c-bf8a89745a1e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843036.650079} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"1131f32e5497abeb7cbba756ae92096b","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F787334d4-5f64-4939-96f9-162855117d6b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F787334d4-5f64-4939-96f9-162855117d6b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:56.649994109Z"}]},"request_id":"83349b4c-2967-4fbe-a3fd-eef06f59e7ba","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843036.6540742} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1131f32e5497abeb7cbba756ae92096b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"1131f32e5497abeb7cbba756ae92096b"} gateway-1 | {"time_local":"28/Apr/2025:12:23:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"545","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1131f32e5497abeb7cbba756ae92096b"} device-1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"1131f32e5497abeb7cbba756ae92096b","responseTime":51,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNn0.M1uycAah6WtnAr3wYGSRosSIToO55SwidUHWYXVD_oY","level":"info","message":"auth send jwt","requestID":"2aa74a001ffb2594c33a365d20b0ca6b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2aa74a001ffb2594c33a365d20b0ca6b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"2aa74a001ffb2594c33a365d20b0ca6b"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.631582,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"2aa74a001ffb2594c33a365d20b0ca6b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843036,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzNn0.M1uycAah6WtnAr3wYGSRosSIToO55SwidUHWYXVD_oY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2aa74a001ffb2594c33a365d20b0ca6b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58abc03c-82fa-4410-9afb-a635b1e880c0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c03332ae-a61e-4df2-81e2-3dc923489fa3","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843036.6779816} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2aa74a001ffb2594c33a365d20b0ca6b","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"473cd168-fcfb-4b9e-a86b-336064d72fdb","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843036.6834137} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"2aa74a001ffb2594c33a365d20b0ca6b","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58abc03c-82fa-4410-9afb-a635b1e880c0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"932d3000-1780-4e96-a30b-8b99126b6e75","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843036.6934214} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"de94ae7a-d55b-4706-a2a3-aa7b9bbfebae","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843036.6935825} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"2aa74a001ffb2594c33a365d20b0ca6b","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58abc03c-82fa-4410-9afb-a635b1e880c0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58abc03c-82fa-4410-9afb-a635b1e880c0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:56.693401644Z"}]},"request_id":"64fadfc3-019b-4acc-b2fc-08ba741c9d1d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843036.69784} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2aa74a001ffb2594c33a365d20b0ca6b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"2aa74a001ffb2594c33a365d20b0ca6b"} gateway-1 | {"time_local":"28/Apr/2025:12:23:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2aa74a001ffb2594c33a365d20b0ca6b"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"2aa74a001ffb2594c33a365d20b0ca6b","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8ed7fbb8ea92c18d44caa824cdcb6108","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8ed7fbb8ea92c18d44caa824cdcb6108","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:23:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/5ee029a1-633a-440f-8794-5a1b8bfad062/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":"8ed7fbb8ea92c18d44caa824cdcb6108"} device-1 | {"level":"info","message":"OPTIONS /devices/5ee029a1-633a-440f-8794-5a1b8bfad062/websocket 200 1ms","method":"OPTIONS","requestID":"8ed7fbb8ea92c18d44caa824cdcb6108","responseTime":1,"status":200,"url":"/devices/5ee029a1-633a-440f-8794-5a1b8bfad062/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzOH0.o4GbgjSHQ6Zmzfe5WHT1OVd69tvHwRsrVgaAZYlWDnU","level":"info","message":"auth send jwt","requestID":"93cc9fc75979c827430c6ecad8c94b09"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"93cc9fc75979c827430c6ecad8c94b09","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"93cc9fc75979c827430c6ecad8c94b09"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:58Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.172892,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5ee029a1-633a-440f-8794-5a1b8bfad062","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"93cc9fc75979c827430c6ecad8c94b09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/5ee029a1-633a-440f-8794-5a1b8bfad062","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843038,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzOH0.o4GbgjSHQ6Zmzfe5WHT1OVd69tvHwRsrVgaAZYlWDnU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"93cc9fc75979c827430c6ecad8c94b09","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9c459aedf3666cf70899a3b376fe1f0d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9c459aedf3666cf70899a3b376fe1f0d","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:23:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/58abc03c-82fa-4410-9afb-a635b1e880c0/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":"9c459aedf3666cf70899a3b376fe1f0d"} device-1 | {"level":"info","message":"OPTIONS /devices/58abc03c-82fa-4410-9afb-a635b1e880c0/websocket 200 1ms","method":"OPTIONS","requestID":"9c459aedf3666cf70899a3b376fe1f0d","responseTime":1,"status":200,"url":"/devices/58abc03c-82fa-4410-9afb-a635b1e880c0/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzOH0.o4GbgjSHQ6Zmzfe5WHT1OVd69tvHwRsrVgaAZYlWDnU","level":"info","message":"auth send jwt","requestID":"e0840fc1fa497a95f29282af24e77863"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e0840fc1fa497a95f29282af24e77863","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e0840fc1fa497a95f29282af24e77863"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:58Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.806637,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/58abc03c-82fa-4410-9afb-a635b1e880c0","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e0840fc1fa497a95f29282af24e77863","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/58abc03c-82fa-4410-9afb-a635b1e880c0","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843038,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzOH0.o4GbgjSHQ6Zmzfe5WHT1OVd69tvHwRsrVgaAZYlWDnU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e0840fc1fa497a95f29282af24e77863","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"93cc9fc75979c827430c6ecad8c94b09"} gateway-1 | {"time_local":"28/Apr/2025:12:23:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5ee029a1-633a-440f-8794-5a1b8bfad062/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.049","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"93cc9fc75979c827430c6ecad8c94b09"} device-1 | {"level":"info","message":"POST /devices/5ee029a1-633a-440f-8794-5a1b8bfad062/websocket 200 44ms","method":"POST","requestID":"93cc9fc75979c827430c6ecad8c94b09","responseTime":44,"status":200,"url":"/devices/5ee029a1-633a-440f-8794-5a1b8bfad062/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e0840fc1fa497a95f29282af24e77863"} gateway-1 | {"time_local":"28/Apr/2025:12:23:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/58abc03c-82fa-4410-9afb-a635b1e880c0/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.036","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e0840fc1fa497a95f29282af24e77863"} device-1 | {"level":"info","message":"POST /devices/58abc03c-82fa-4410-9afb-a635b1e880c0/websocket 200 31ms","method":"POST","requestID":"e0840fc1fa497a95f29282af24e77863","responseTime":31,"status":200,"url":"/devices/58abc03c-82fa-4410-9afb-a635b1e880c0/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5ee029a1-633a-440f-8794-5a1b8bfad062' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/58abc03c-82fa-4410-9afb-a635b1e880c0' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzOH0.o4GbgjSHQ6Zmzfe5WHT1OVd69tvHwRsrVgaAZYlWDnU","level":"info","message":"auth send jwt","requestID":"c42c3be09cb5ef9bcb0be27ec360be69"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c42c3be09cb5ef9bcb0be27ec360be69","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c42c3be09cb5ef9bcb0be27ec360be69"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:58Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.758882,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/58abc03c-82fa-4410-9afb-a635b1e880c0","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c42c3be09cb5ef9bcb0be27ec360be69","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/58abc03c-82fa-4410-9afb-a635b1e880c0","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843038,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzOH0.o4GbgjSHQ6Zmzfe5WHT1OVd69tvHwRsrVgaAZYlWDnU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c42c3be09cb5ef9bcb0be27ec360be69","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58abc03c-82fa-4410-9afb-a635b1e880c0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58abc03c-82fa-4410-9afb-a635b1e880c0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:56.693401644Z"}]},"request_id":"dbd728d2-fdf3-429f-92c4-785eea0bb876","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843038.947387} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c42c3be09cb5ef9bcb0be27ec360be69","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c42c3be09cb5ef9bcb0be27ec360be69"} device-1 | {"level":"info","message":"GET /devices/58abc03c-82fa-4410-9afb-a635b1e880c0? 200 12ms","method":"GET","requestID":"c42c3be09cb5ef9bcb0be27ec360be69","responseTime":12,"status":200,"url":"/devices/58abc03c-82fa-4410-9afb-a635b1e880c0?"} gateway-1 | {"time_local":"28/Apr/2025:12:23:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/58abc03c-82fa-4410-9afb-a635b1e880c0? 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":"c42c3be09cb5ef9bcb0be27ec360be69"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzOH0.o4GbgjSHQ6Zmzfe5WHT1OVd69tvHwRsrVgaAZYlWDnU","level":"info","message":"auth send jwt","requestID":"cdc2927cdf3ff0e71f7083b90d8de751"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cdc2927cdf3ff0e71f7083b90d8de751","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"cdc2927cdf3ff0e71f7083b90d8de751"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:58Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.648062,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cdc2927cdf3ff0e71f7083b90d8de751","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843038,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzOH0.o4GbgjSHQ6Zmzfe5WHT1OVd69tvHwRsrVgaAZYlWDnU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cdc2927cdf3ff0e71f7083b90d8de751","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b887c18f-d701-404a-99fe-1a8f5f77639e"},"level":"info","message":"Attempting to run experiment","requestID":"cdc2927cdf3ff0e71f7083b90d8de751"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b887c18f-d701-404a-99fe-1a8f5f77639e"},"level":"info","message":"Attempting to book experiment","requestID":"cdc2927cdf3ff0e71f7083b90d8de751"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b887c18f-d701-404a-99fe-1a8f5f77639e"},"level":"info","message":"Successfully booked experiment","requestID":"cdc2927cdf3ff0e71f7083b90d8de751"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a942db10-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a9430220-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.660507,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/787334d4-5f64-4939-96f9-162855117d6b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a942db10-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/787334d4-5f64-4939-96f9-162855117d6b","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843038,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzOH0.o4GbgjSHQ6Zmzfe5WHT1OVd69tvHwRsrVgaAZYlWDnU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a942db10-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.607555,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/58abc03c-82fa-4410-9afb-a635b1e880c0","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a9430220-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/58abc03c-82fa-4410-9afb-a635b1e880c0","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843038,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzOH0.o4GbgjSHQ6Zmzfe5WHT1OVd69tvHwRsrVgaAZYlWDnU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a9430220-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F787334d4-5f64-4939-96f9-162855117d6b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F787334d4-5f64-4939-96f9-162855117d6b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:56.649994109Z"}]},"request_id":"bd1d0aaa-2e1d-481d-b503-8a37d155d2ad","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843039.0489573} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"a942db10-242b-11f0-a4ab-3996a0934271","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58abc03c-82fa-4410-9afb-a635b1e880c0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58abc03c-82fa-4410-9afb-a635b1e880c0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:56.693401644Z"}]},"request_id":"f1d31da5-22e3-487a-b918-0bf3869edf08","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843039.0739977} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"a9430220-242b-11f0-a4ab-3996a0934271","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a9430220-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/58abc03c-82fa-4410-9afb-a635b1e880c0? 200 37ms","method":"GET","requestID":"a9430220-242b-11f0-a4ab-3996a0934271","responseTime":37,"status":200,"url":"/devices/58abc03c-82fa-4410-9afb-a635b1e880c0?"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.901727,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5ee029a1-633a-440f-8794-5a1b8bfad062","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a942db10-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/5ee029a1-633a-440f-8794-5a1b8bfad062","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843038,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzOH0.o4GbgjSHQ6Zmzfe5WHT1OVd69tvHwRsrVgaAZYlWDnU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a942db10-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a942db10-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/787334d4-5f64-4939-96f9-162855117d6b? 200 41ms","method":"GET","requestID":"a942db10-242b-11f0-a4ab-3996a0934271","responseTime":41,"status":200,"url":"/devices/787334d4-5f64-4939-96f9-162855117d6b?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b887c18f-d701-404a-99fe-1a8f5f77639e"},"level":"info","message":"Setting up experiment","requestID":"cdc2927cdf3ff0e71f7083b90d8de751"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b887c18f-d701-404a-99fe-1a8f5f77639e"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"cdc2927cdf3ff0e71f7083b90d8de751"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b887c18f-d701-404a-99fe-1a8f5f77639e"},"level":"info","message":"Successfully locked booking for experiment","requestID":"cdc2927cdf3ff0e71f7083b90d8de751"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b887c18f-d701-404a-99fe-1a8f5f77639e"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"cdc2927cdf3ff0e71f7083b90d8de751"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b887c18f-d701-404a-99fe-1a8f5f77639e"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"cdc2927cdf3ff0e71f7083b90d8de751"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b887c18f-d701-404a-99fe-1a8f5f77639e"},"level":"info","message":"Attempting to update booking for experiment","requestID":"cdc2927cdf3ff0e71f7083b90d8de751"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b887c18f-d701-404a-99fe-1a8f5f77639e"},"level":"info","message":"Successfully updated booking for experiment","requestID":"cdc2927cdf3ff0e71f7083b90d8de751"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b887c18f-d701-404a-99fe-1a8f5f77639e"},"level":"info","message":"Successfully set up experiment","requestID":"cdc2927cdf3ff0e71f7083b90d8de751"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a95578b0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a9559fc0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a955ede0-242b-11f0-a4ab-3996a0934271"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b887c18f-d701-404a-99fe-1a8f5f77639e"},"level":"info","message":"Successfully running experiment","requestID":"cdc2927cdf3ff0e71f7083b90d8de751"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.953389,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5ee029a1-633a-440f-8794-5a1b8bfad062","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a95578b0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/5ee029a1-633a-440f-8794-5a1b8bfad062","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843038,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzOH0.o4GbgjSHQ6Zmzfe5WHT1OVd69tvHwRsrVgaAZYlWDnU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a95578b0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.791234,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/58abc03c-82fa-4410-9afb-a635b1e880c0","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a9559fc0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/58abc03c-82fa-4410-9afb-a635b1e880c0","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843038,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzOH0.o4GbgjSHQ6Zmzfe5WHT1OVd69tvHwRsrVgaAZYlWDnU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a9559fc0-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.009018,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ee029a1-633a-440f-8794-5a1b8bfad062","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"65387ece-6f08-4ffc-b56c-635c83afa181","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843039.1720288} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5ee029a1-633a-440f-8794-5a1b8bfad062","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a955ede0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5ee029a1-633a-440f-8794-5a1b8bfad062","object_type":"device","rebac_allow":false,"scope_allow":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":"a955ede0-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ee029a1-633a-440f-8794-5a1b8bfad062","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ee029a1-633a-440f-8794-5a1b8bfad062","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:56.589546955Z"}]},"request_id":"1c5839da-9843-46cb-857d-a86dce8ddaaa","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843039.1738353} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a955ede0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"a95578b0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices/5ee029a1-633a-440f-8794-5a1b8bfad062/signaling 200 11ms","method":"POST","requestID":"a955ede0-242b-11f0-a4ab-3996a0934271","responseTime":11,"status":200,"url":"/devices/5ee029a1-633a-440f-8794-5a1b8bfad062/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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58abc03c-82fa-4410-9afb-a635b1e880c0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58abc03c-82fa-4410-9afb-a635b1e880c0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:56.693401644Z"}]},"request_id":"f05b2a41-f5ce-4a2d-8f57-0e965a8fefe0","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843039.176698} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a9559fc0-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a9585ee0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a95578b0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb887c18f-d701-404a-99fe-1a8f5f77639e#owner@http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb887c18f-d701-404a-99fe-1a8f5f77639e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"0f1caaa8-7a53-42e9-bbae-8efa27daf5fd","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843039.1836705} device-1 | {"level":"info","message":"GET /devices/5ee029a1-633a-440f-8794-5a1b8bfad062? 200 22ms","method":"GET","requestID":"a95578b0-242b-11f0-a4ab-3996a0934271","responseTime":22,"status":200,"url":"/devices/5ee029a1-633a-440f-8794-5a1b8bfad062?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ed53e3ae-263c-4209-92a7-0ae52a2b4482","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843039.1847045} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a9559fc0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/58abc03c-82fa-4410-9afb-a635b1e880c0? 200 22ms","method":"GET","requestID":"a9559fc0-242b-11f0-a4ab-3996a0934271","responseTime":22,"status":200,"url":"/devices/58abc03c-82fa-4410-9afb-a635b1e880c0?"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58abc03c-82fa-4410-9afb-a635b1e880c0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8a15c274-bd63-4b24-a791-53daf765181f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843039.1871705} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"cdc2927cdf3ff0e71f7083b90d8de751","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.702022,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:59Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a9594940-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/58abc03c-82fa-4410-9afb-a635b1e880c0","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a9585ee0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/58abc03c-82fa-4410-9afb-a635b1e880c0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a9585ee0-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:59Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a9585ee0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/58abc03c-82fa-4410-9afb-a635b1e880c0/signaling 200 10ms","method":"POST","requestID":"a9585ee0-242b-11f0-a4ab-3996a0934271","responseTime":10,"status":200,"url":"/devices/58abc03c-82fa-4410-9afb-a635b1e880c0/signaling"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ee029a1-633a-440f-8794-5a1b8bfad062","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7ddac55b-09a2-4723-a265-21ceb64b5a84","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843039.1930146} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.125752,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5ee029a1-633a-440f-8794-5a1b8bfad062","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a9594940-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5ee029a1-633a-440f-8794-5a1b8bfad062","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a9594940-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/b887c18f-d701-404a-99fe-1a8f5f77639e","user":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"cdc2927cdf3ff0e71f7083b90d8de751"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a9594940-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/5ee029a1-633a-440f-8794-5a1b8bfad062/signaling 200 32ms","method":"POST","requestID":"a9594940-242b-11f0-a4ab-3996a0934271","responseTime":32,"status":200,"url":"/devices/5ee029a1-633a-440f-8794-5a1b8bfad062/signaling"} gateway-1 | {"time_local":"28/Apr/2025:12:23:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.244","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cdc2927cdf3ff0e71f7083b90d8de751"} experiment-1 | {"level":"info","message":"POST /experiments? 201 240ms","method":"POST","requestID":"cdc2927cdf3ff0e71f7083b90d8de751","responseTime":240,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a95ec780-242b-11f0-a4ab-3996a0934271"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzOX0.VzXdOduVR2tGhMnTm_VxazPLYDdbDpC9En5GwAjuRJU","level":"info","message":"auth send jwt","requestID":"1dd4d2e0e2b194237deb7af93112a67b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1dd4d2e0e2b194237deb7af93112a67b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1dd4d2e0e2b194237deb7af93112a67b"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.403664,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58abc03c-82fa-4410-9afb-a635b1e880c0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cb710548-c3db-4d81-8c2f-36e4733ff00e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843039.2295892} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/58abc03c-82fa-4410-9afb-a635b1e880c0","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a95ec780-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/58abc03c-82fa-4410-9afb-a635b1e880c0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a95ec780-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.705048,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5ee029a1-633a-440f-8794-5a1b8bfad062","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"1dd4d2e0e2b194237deb7af93112a67b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/5ee029a1-633a-440f-8794-5a1b8bfad062","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843039,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzOX0.VzXdOduVR2tGhMnTm_VxazPLYDdbDpC9En5GwAjuRJU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1dd4d2e0e2b194237deb7af93112a67b","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a95ec780-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/58abc03c-82fa-4410-9afb-a635b1e880c0/signaling 200 11ms","method":"POST","requestID":"a95ec780-242b-11f0-a4ab-3996a0934271","responseTime":11,"status":200,"url":"/devices/58abc03c-82fa-4410-9afb-a635b1e880c0/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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ee029a1-633a-440f-8794-5a1b8bfad062","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ee029a1-633a-440f-8794-5a1b8bfad062","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:56.589546955Z"}]},"request_id":"f7eaec5d-acc4-48c7-913a-e7e996f9c4bf","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843039.2360911} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b887c18f-d701-404a-99fe-1a8f5f77639e"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"cdc2927cdf3ff0e71f7083b90d8de751"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b887c18f-d701-404a-99fe-1a8f5f77639e"},"level":"info","message":"Building connection plan","requestID":"cdc2927cdf3ff0e71f7083b90d8de751"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"7d3c7a62-0ae5-4263-b8ae-af8192e9a8ad"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"7578c6e4-6281-4039-9ebe-aa3f2f144191"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"e45ca7d6-1660-4355-8563-52f8a10fc231"}]},"level":"info","message":"Built pairwise service configurations","requestID":"cdc2927cdf3ff0e71f7083b90d8de751"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1dd4d2e0e2b194237deb7af93112a67b","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/58abc03c-82fa-4410-9afb-a635b1e880c0"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/5ee029a1-633a-440f-8794-5a1b8bfad062"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"cdc2927cdf3ff0e71f7083b90d8de751"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"a9611170-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1dd4d2e0e2b194237deb7af93112a67b"} device-1 | {"level":"info","message":"GET /devices/5ee029a1-633a-440f-8794-5a1b8bfad062? 200 39ms","method":"GET","requestID":"1dd4d2e0e2b194237deb7af93112a67b","responseTime":39,"status":200,"url":"/devices/5ee029a1-633a-440f-8794-5a1b8bfad062?"} gateway-1 | {"time_local":"28/Apr/2025:12:23:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5ee029a1-633a-440f-8794-5a1b8bfad062? HTTP/1.1","status": "200","body_bytes_sent":"283","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1dd4d2e0e2b194237deb7af93112a67b"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.758356,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a9611170-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843038,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzOH0.o4GbgjSHQ6Zmzfe5WHT1OVd69tvHwRsrVgaAZYlWDnU"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"a9611170-242b-11f0-a4ab-3996a0934271","responseTime":28,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzOX0.VzXdOduVR2tGhMnTm_VxazPLYDdbDpC9En5GwAjuRJU","level":"info","message":"auth send jwt","requestID":"2f2f4169ec06f9d2e0f95121e7c72907"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2f2f4169ec06f9d2e0f95121e7c72907","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2f2f4169ec06f9d2e0f95121e7c72907"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.678896,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/58abc03c-82fa-4410-9afb-a635b1e880c0","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"2f2f4169ec06f9d2e0f95121e7c72907","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/58abc03c-82fa-4410-9afb-a635b1e880c0","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843039,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzOX0.VzXdOduVR2tGhMnTm_VxazPLYDdbDpC9En5GwAjuRJU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2f2f4169ec06f9d2e0f95121e7c72907","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","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%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"ab6ea640-c4de-4d66-a798-15cb4916da81","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843039.2746694} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c26ac85e-fc4d-4692-8631-69dd369bde11","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843039.2748613} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"a9611170-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58abc03c-82fa-4410-9afb-a635b1e880c0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58abc03c-82fa-4410-9afb-a635b1e880c0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:56.693401644Z"}]},"request_id":"27be046a-7581-41bc-8b20-4d7d717e2266","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843039.2787864} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2f2f4169ec06f9d2e0f95121e7c72907","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"a9611170-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"a9611170-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/ba973d87-8575-4231-a6f9-2a534e30e3a3'","requestID":"a9611170-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/ba973d87-8575-4231-a6f9-2a534e30e3a3'","requestID":"a9611170-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"a9611170-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 88ms","method":"POST","requestID":"a9611170-242b-11f0-a4ab-3996a0934271","responseTime":88,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2f2f4169ec06f9d2e0f95121e7c72907"} gateway-1 | {"time_local":"28/Apr/2025:12:23:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/58abc03c-82fa-4410-9afb-a635b1e880c0? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2f2f4169ec06f9d2e0f95121e7c72907"} device-1 | {"level":"info","message":"GET /devices/58abc03c-82fa-4410-9afb-a635b1e880c0? 200 58ms","method":"GET","requestID":"2f2f4169ec06f9d2e0f95121e7c72907","responseTime":58,"status":200,"url":"/devices/58abc03c-82fa-4410-9afb-a635b1e880c0?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"a9611170-242b-11f0-a4ab-3996a0934271"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/ba973d87-8575-4231-a6f9-2a534e30e3a3","device":"5ee029a1-633a-440f-8794-5a1b8bfad062","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/ba973d87-8575-4231-a6f9-2a534e30e3a3","device":"58abc03c-82fa-4410-9afb-a635b1e880c0","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/b887c18f-d701-404a-99fe-1a8f5f77639e"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"cdc2927cdf3ff0e71f7083b90d8de751"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a9764720-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ee029a1-633a-440f-8794-5a1b8bfad062","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b7c6663f-65b5-4f3e-a1d4-bd521add6551","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843039.3823044} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.810935,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5ee029a1-633a-440f-8794-5a1b8bfad062","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a9764720-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5ee029a1-633a-440f-8794-5a1b8bfad062","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a9764720-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a9764720-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/5ee029a1-633a-440f-8794-5a1b8bfad062/signaling 200 8ms","method":"POST","requestID":"a9764720-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/5ee029a1-633a-440f-8794-5a1b8bfad062/signaling"} device-1 | {"device":"58abc03c-82fa-4410-9afb-a635b1e880c0","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"58abc03c-82fa-4410-9afb-a635b1e880c0","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a97b7740-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:59Z"} device-1 | {"device":"5ee029a1-633a-440f-8794-5a1b8bfad062","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"5ee029a1-633a-440f-8794-5a1b8bfad062","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58abc03c-82fa-4410-9afb-a635b1e880c0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9c4262d4-9348-4134-b7f1-158c5b0a155c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843039.4170568} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.765633,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/58abc03c-82fa-4410-9afb-a635b1e880c0","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a97b7740-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/58abc03c-82fa-4410-9afb-a635b1e880c0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a97b7740-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a97b7740-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/58abc03c-82fa-4410-9afb-a635b1e880c0/signaling 200 10ms","method":"POST","requestID":"a97b7740-242b-11f0-a4ab-3996a0934271","responseTime":10,"status":200,"url":"/devices/58abc03c-82fa-4410-9afb-a635b1e880c0/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 1811302665042321640 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:YdHb\r\na=ice-pwd:qXljtMaGojVE+DWvrXIHtZC3\r\na=ice-options:trickle\r\na=fingerprint:sha-256 1B:6E:A6:0E:C4:CD:83:98:EA:B7:46:30:00:9F:3C:DB:71:5E:C9:8F:59:B4:6E:48:91:6D:08:97:17:C5:A7:F1\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"5ee029a1-633a-440f-8794-5a1b8bfad062","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 3338151193620279809 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:rFuy\r\na=ice-pwd:EZtorHQ5PbTu7Nos5+gouUa8\r\na=ice-options:trickle\r\na=fingerprint:sha-256 2B:05:47:E7:ED:7A:7C:A7:C4:28:E6:6E:6C:E4:8B:FF:B0:EC:E3:BE:91:06:5B:9B:D1:33:A0:2F:04:07:6C:8A\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"58abc03c-82fa-4410-9afb-a635b1e880c0","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3619119993 1 udp 2113937151 04bb5a55-2c8f-4c34-8118-5bd607007fe2.local 37463 typ host generation 0 ufrag rFuy network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"58abc03c-82fa-4410-9afb-a635b1e880c0","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/58abc03c-82fa-4410-9afb-a635b1e880c0'"} device-1 | {"content":{"candidate":"candidate:1799781088 1 udp 2113937151 057fbdba-2019-411c-9e16-a11bb8db15eb.local 47303 typ host generation 0 ufrag YdHb network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"5ee029a1-633a-440f-8794-5a1b8bfad062","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"5ee029a1-633a-440f-8794-5a1b8bfad062","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"58abc03c-82fa-4410-9afb-a635b1e880c0","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/ba973d87-8575-4231-a6f9-2a534e30e3a3' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ba973d87-8575-4231-a6f9-2a534e30e3a3","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fc31c1e81a175cd9afcfcac67cc09c1a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fc31c1e81a175cd9afcfcac67cc09c1a","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"58abc03c-82fa-4410-9afb-a635b1e880c0","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/58abc03c-82fa-4410-9afb-a635b1e880c0"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/5ee029a1-633a-440f-8794-5a1b8bfad062"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/ba973d87-8575-4231-a6f9-2a534e30e3a3"}}},"level":"info","message":"received a callback","requestID":"fc31c1e81a175cd9afcfcac67cc09c1a"} device-1 | {"device":"58abc03c-82fa-4410-9afb-a635b1e880c0","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"5ee029a1-633a-440f-8794-5a1b8bfad062","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"5ee029a1-633a-440f-8794-5a1b8bfad062","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"fc31c1e81a175cd9afcfcac67cc09c1a","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:23:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"fc31c1e81a175cd9afcfcac67cc09c1a"} device-1 | {"device":"58abc03c-82fa-4410-9afb-a635b1e880c0","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"ba973d87-8575-4231-a6f9-2a534e30e3a3","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"ba973d87-8575-4231-a6f9-2a534e30e3a3","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/ba973d87-8575-4231-a6f9-2a534e30e3a3' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ba973d87-8575-4231-a6f9-2a534e30e3a3","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b1c897142c2e5f8ece0b33d51b5df60a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b1c897142c2e5f8ece0b33d51b5df60a","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/58abc03c-82fa-4410-9afb-a635b1e880c0"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5ee029a1-633a-440f-8794-5a1b8bfad062"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/ba973d87-8575-4231-a6f9-2a534e30e3a3"}}},"level":"info","message":"received a callback","requestID":"b1c897142c2e5f8ece0b33d51b5df60a"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"a98bcaf0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fba973d87-8575-4231-a6f9-2a534e30e3a3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8d0c50b4-84c2-46aa-9f82-47d1ff13e673","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843039.5238185} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.405165,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ba973d87-8575-4231-a6f9-2a534e30e3a3","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a98bcaf0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/ba973d87-8575-4231-a6f9-2a534e30e3a3","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":"a98bcaf0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"a98bcaf0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /peerconnections/ba973d87-8575-4231-a6f9-2a534e30e3a3 200 8ms","method":"GET","requestID":"a98bcaf0-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/peerconnections/ba973d87-8575-4231-a6f9-2a534e30e3a3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzOX0.VzXdOduVR2tGhMnTm_VxazPLYDdbDpC9En5GwAjuRJU","level":"info","message":"auth send jwt","requestID":"b9677b2e2ca61671b8d5c46d63267ad7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b9677b2e2ca61671b8d5c46d63267ad7","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b887c18f-d701-404a-99fe-1a8f5f77639e","requestID":"b9677b2e2ca61671b8d5c46d63267ad7"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.141006,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b887c18f-d701-404a-99fe-1a8f5f77639e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b9677b2e2ca61671b8d5c46d63267ad7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/b887c18f-d701-404a-99fe-1a8f5f77639e","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843039,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzOX0.VzXdOduVR2tGhMnTm_VxazPLYDdbDpC9En5GwAjuRJU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b9677b2e2ca61671b8d5c46d63267ad7","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 53ms","method":"POST","requestID":"b1c897142c2e5f8ece0b33d51b5df60a","responseTime":53,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:23:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch","requestID":"b1c897142c2e5f8ece0b33d51b5df60a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a9934500-242b-11f0-a4ab-3996a0934271"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/b887c18f-d701-404a-99fe-1a8f5f77639e","requestID":"b9677b2e2ca61671b8d5c46d63267ad7"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:59Z"} gateway-1 | {"time_local":"28/Apr/2025:12:23:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b887c18f-d701-404a-99fe-1a8f5f77639e 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":"b9677b2e2ca61671b8d5c46d63267ad7"} experiment-1 | {"level":"info","message":"GET /experiments/b887c18f-d701-404a-99fe-1a8f5f77639e 200 14ms","method":"GET","requestID":"b9677b2e2ca61671b8d5c46d63267ad7","responseTime":14,"status":200,"url":"/experiments/b887c18f-d701-404a-99fe-1a8f5f77639e"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58abc03c-82fa-4410-9afb-a635b1e880c0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3f0c5328-a2dd-4891-a1f2-433332211728","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843039.5731704} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.679816,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/58abc03c-82fa-4410-9afb-a635b1e880c0","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a9934500-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/58abc03c-82fa-4410-9afb-a635b1e880c0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a9934500-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzOX0.VzXdOduVR2tGhMnTm_VxazPLYDdbDpC9En5GwAjuRJU","level":"info","message":"auth send jwt","requestID":"3540bcc114a2e455ac3d295da9ebe065"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3540bcc114a2e455ac3d295da9ebe065","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/b887c18f-d701-404a-99fe-1a8f5f77639e","requestID":"3540bcc114a2e455ac3d295da9ebe065"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a9934500-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/58abc03c-82fa-4410-9afb-a635b1e880c0/signaling 200 33ms","method":"POST","requestID":"a9934500-242b-11f0-a4ab-3996a0934271","responseTime":33,"status":200,"url":"/devices/58abc03c-82fa-4410-9afb-a635b1e880c0/signaling"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.78792,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:59Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a998c340-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b887c18f-d701-404a-99fe-1a8f5f77639e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"3540bcc114a2e455ac3d295da9ebe065","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/b887c18f-d701-404a-99fe-1a8f5f77639e","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843039,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzOX0.VzXdOduVR2tGhMnTm_VxazPLYDdbDpC9En5GwAjuRJU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3540bcc114a2e455ac3d295da9ebe065","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ee029a1-633a-440f-8794-5a1b8bfad062","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fba4893e-da9e-422d-97ca-499307e2165c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843039.6095235} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.327892,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:59Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b887c18f-d701-404a-99fe-1a8f5f77639e"},"level":"info","message":"Attempting to finish experiment","requestID":"3540bcc114a2e455ac3d295da9ebe065"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5ee029a1-633a-440f-8794-5a1b8bfad062","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a998c340-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5ee029a1-633a-440f-8794-5a1b8bfad062","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a998c340-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"a999d4b0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.771602,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:59Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a998c340-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/5ee029a1-633a-440f-8794-5a1b8bfad062/signaling 200 11ms","method":"POST","requestID":"a998c340-242b-11f0-a4ab-3996a0934271","responseTime":11,"status":200,"url":"/devices/5ee029a1-633a-440f-8794-5a1b8bfad062/signaling"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ba973d87-8575-4231-a6f9-2a534e30e3a3","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a999d4b0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:http://localhost/peerconnections/ba973d87-8575-4231-a6f9-2a534e30e3a3","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843039,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzOX0.VzXdOduVR2tGhMnTm_VxazPLYDdbDpC9En5GwAjuRJU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a999d4b0-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/ba973d87-8575-4231-a6f9-2a534e30e3a3","device":"58abc03c-82fa-4410-9afb-a635b1e880c0","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/ba973d87-8575-4231-a6f9-2a534e30e3a3","device":"5ee029a1-633a-440f-8794-5a1b8bfad062","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/ba973d87-8575-4231-a6f9-2a534e30e3a3' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/ba973d87-8575-4231-a6f9-2a534e30e3a3' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ba973d87-8575-4231-a6f9-2a534e30e3a3","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e65ed673bcc2bdc93dfa5d14b407d692","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e65ed673bcc2bdc93dfa5d14b407d692","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9a5bd061f5d866025778548ccf96410c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/58abc03c-82fa-4410-9afb-a635b1e880c0"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/5ee029a1-633a-440f-8794-5a1b8bfad062"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ba973d87-8575-4231-a6f9-2a534e30e3a3"}}},"level":"info","message":"received a callback","requestID":"e65ed673bcc2bdc93dfa5d14b407d692"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9a5bd061f5d866025778548ccf96410c","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fba973d87-8575-4231-a6f9-2a534e30e3a3': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fba973d87-8575-4231-a6f9-2a534e30e3a3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"c9c4a318-dc26-4392-9ead-352759195599","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843039.6276302} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cf570853-b132-4f78-9137-4f838965ac27","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843039.6279976} 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/58abc03c-82fa-4410-9afb-a635b1e880c0"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/5ee029a1-633a-440f-8794-5a1b8bfad062"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ba973d87-8575-4231-a6f9-2a534e30e3a3"}}},"level":"info","message":"received a callback","requestID":"9a5bd061f5d866025778548ccf96410c"} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"a999d4b0-242b-11f0-a4ab-3996a0934271","responseTime":34,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"ba973d87-8575-4231-a6f9-2a534e30e3a3","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"a999d4b0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"DELETE /peerconnections/ba973d87-8575-4231-a6f9-2a534e30e3a3 204 64ms","method":"DELETE","requestID":"a999d4b0-242b-11f0-a4ab-3996a0934271","responseTime":64,"status":204,"url":"/peerconnections/ba973d87-8575-4231-a6f9-2a534e30e3a3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b887c18f-d701-404a-99fe-1a8f5f77639e"},"level":"info","message":"Successfully finished experiment","requestID":"3540bcc114a2e455ac3d295da9ebe065"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a9a916f0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58abc03c-82fa-4410-9afb-a635b1e880c0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"67012346-991d-4b3d-85f2-3a1ecdde06c5","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843039.7152128} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.241137,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/58abc03c-82fa-4410-9afb-a635b1e880c0","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a9a916f0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/58abc03c-82fa-4410-9afb-a635b1e880c0","object_type":"device","rebac_allow":false,"scope_allow":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":"a9a916f0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a9a916f0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/58abc03c-82fa-4410-9afb-a635b1e880c0/signaling 200 8ms","method":"POST","requestID":"a9a916f0-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/58abc03c-82fa-4410-9afb-a635b1e880c0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a9ae4710-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb887c18f-d701-404a-99fe-1a8f5f77639e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb887c18f-d701-404a-99fe-1a8f5f77639e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"378fd096-4a6f-40f8-b33c-2ef03585ee7e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843039.7470162} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"473098b6-e379-456a-ba17-d84f15814914","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843039.747139} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"3540bcc114a2e455ac3d295da9ebe065","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ee029a1-633a-440f-8794-5a1b8bfad062","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a4a3881a-4971-4a5c-8f4d-03ca87a12d2d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843039.7496557} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.253168,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5ee029a1-633a-440f-8794-5a1b8bfad062","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a9ae4710-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5ee029a1-633a-440f-8794-5a1b8bfad062","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a9ae4710-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a9ae4710-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/5ee029a1-633a-440f-8794-5a1b8bfad062/signaling 200 9ms","method":"POST","requestID":"a9ae4710-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/5ee029a1-633a-440f-8794-5a1b8bfad062/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/b887c18f-d701-404a-99fe-1a8f5f77639e","requestID":"3540bcc114a2e455ac3d295da9ebe065"} gateway-1 | {"time_local":"28/Apr/2025:12:23:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/b887c18f-d701-404a-99fe-1a8f5f77639e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.273","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3540bcc114a2e455ac3d295da9ebe065"} experiment-1 | {"level":"info","message":"DELETE /experiments/b887c18f-d701-404a-99fe-1a8f5f77639e 204 270ms","method":"DELETE","requestID":"3540bcc114a2e455ac3d295da9ebe065","responseTime":270,"status":204,"url":"/experiments/b887c18f-d701-404a-99fe-1a8f5f77639e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 221ms","method":"POST","requestID":"e65ed673bcc2bdc93dfa5d14b407d692","responseTime":221,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:23:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.224","http_referrer":"","http_user_agent":"node-fetch","requestID":"e65ed673bcc2bdc93dfa5d14b407d692"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 221ms","method":"POST","requestID":"9a5bd061f5d866025778548ccf96410c","responseTime":221,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:23:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.225","http_referrer":"","http_user_agent":"node-fetch","requestID":"9a5bd061f5d866025778548ccf96410c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzOX0.VzXdOduVR2tGhMnTm_VxazPLYDdbDpC9En5GwAjuRJU","level":"info","message":"auth send jwt","requestID":"4339e8936de72de02d781d773ce7f7cf"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4339e8936de72de02d781d773ce7f7cf","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"4339e8936de72de02d781d773ce7f7cf"} gateway-1 | {"time_local":"28/Apr/2025:12:23:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2339","request_time":"0.934","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a0955b69eb3d48197f2c44f5feff08ca"} gateway-1 | {"time_local":"28/Apr/2025:12:23:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2339","request_time":"0.958","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"61da6de2188baba9aa747e0cbea2bca4"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.928016,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"4339e8936de72de02d781d773ce7f7cf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843039,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzOX0.VzXdOduVR2tGhMnTm_VxazPLYDdbDpC9En5GwAjuRJU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4339e8936de72de02d781d773ce7f7cf","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/5ee029a1-633a-440f-8794-5a1b8bfad062' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/58abc03c-82fa-4410-9afb-a635b1e880c0' 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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86340746-cf19-417c-b2a4-0dc94deb1b5a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"41787aa5-f8df-4612-8b72-9f71b76322f4","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843039.8725574} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4339e8936de72de02d781d773ce7f7cf","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"826e8612-9174-4dba-9bd1-da3d4b45db16","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843039.8777533} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"4339e8936de72de02d781d773ce7f7cf","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86340746-cf19-417c-b2a4-0dc94deb1b5a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"e81e3c49-6981-4f1c-9505-77137a0327b8","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843039.8913887} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2ca80971-0332-48c0-b52a-79a81f846d80","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843039.891566} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"4339e8936de72de02d781d773ce7f7cf","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86340746-cf19-417c-b2a4-0dc94deb1b5a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86340746-cf19-417c-b2a4-0dc94deb1b5a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:59.891372982Z"}]},"request_id":"c2110a70-01cd-43a5-a76d-009caced3bab","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843039.895446} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4339e8936de72de02d781d773ce7f7cf","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"4339e8936de72de02d781d773ce7f7cf"} gateway-1 | {"time_local":"28/Apr/2025:12:23:59 +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":"4339e8936de72de02d781d773ce7f7cf"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"4339e8936de72de02d781d773ce7f7cf","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzOX0.VzXdOduVR2tGhMnTm_VxazPLYDdbDpC9En5GwAjuRJU","level":"info","message":"auth send jwt","requestID":"d0418241e6c63432ee111c2221d8fb1f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d0418241e6c63432ee111c2221d8fb1f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"d0418241e6c63432ee111c2221d8fb1f"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.639012,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:23:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d0418241e6c63432ee111c2221d8fb1f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843039,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzAzOX0.VzXdOduVR2tGhMnTm_VxazPLYDdbDpC9En5GwAjuRJU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d0418241e6c63432ee111c2221d8fb1f","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bb9be79-6da0-4eed-aa54-fd392a256120","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"75de8cd0-da7e-4871-8c01-7923b3808a7c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843039.9158974} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d0418241e6c63432ee111c2221d8fb1f","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3ee5b4bf-07ad-4138-bfb8-684fef480b09","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843039.91956} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"d0418241e6c63432ee111c2221d8fb1f","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bb9be79-6da0-4eed-aa54-fd392a256120","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"fbebb7b1-e53e-4e83-a0d6-79720a2160fe","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843039.9284081} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"42186085-6e15-4105-916a-2b331b706fd9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843039.9285421} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"d0418241e6c63432ee111c2221d8fb1f","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bb9be79-6da0-4eed-aa54-fd392a256120","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bb9be79-6da0-4eed-aa54-fd392a256120","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:59.928392989Z"}]},"request_id":"3c9d9df9-1cc3-4808-852e-a2d81bdad024","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843039.9318912} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d0418241e6c63432ee111c2221d8fb1f","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"d0418241e6c63432ee111c2221d8fb1f"} gateway-1 | {"time_local":"28/Apr/2025:12:23:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.035","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d0418241e6c63432ee111c2221d8fb1f"} device-1 | {"level":"info","message":"POST /devices? 201 31ms","method":"POST","requestID":"d0418241e6c63432ee111c2221d8fb1f","responseTime":31,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0MH0.Zxj44jx522lA1ujZfakX4Ab6BpOhi2_BjG0rxZp-qQ4","level":"info","message":"auth send jwt","requestID":"2ddff66c35ce5f8707101b079905c705"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2ddff66c35ce5f8707101b079905c705","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"2ddff66c35ce5f8707101b079905c705"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:00Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.709396,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:00Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"2ddff66c35ce5f8707101b079905c705","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843040,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0MH0.Zxj44jx522lA1ujZfakX4Ab6BpOhi2_BjG0rxZp-qQ4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2ddff66c35ce5f8707101b079905c705","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86340746-cf19-417c-b2a4-0dc94deb1b5a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86340746-cf19-417c-b2a4-0dc94deb1b5a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:59.891372982Z"}]},"request_id":"53a6819b-e202-43c1-af61-be138621862e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843040.7763548} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2ddff66c35ce5f8707101b079905c705","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d2fd5352-9b8e-47c8-b7c0-5d99affdae2a","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843040.8054175} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"2ddff66c35ce5f8707101b079905c705","responseTime":27,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86340746-cf19-417c-b2a4-0dc94deb1b5a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86340746-cf19-417c-b2a4-0dc94deb1b5a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:59.891372982Z"}]},"request_id":"5094616f-303c-4b5d-a5e6-eaeaf3ae3287","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843040.8179736} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2ddff66c35ce5f8707101b079905c705","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"2ddff66c35ce5f8707101b079905c705"} gateway-1 | {"time_local":"28/Apr/2025:12:24:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/86340746-cf19-417c-b2a4-0dc94deb1b5a HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.057","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"2ddff66c35ce5f8707101b079905c705"} device-1 | {"level":"info","message":"PATCH /devices/86340746-cf19-417c-b2a4-0dc94deb1b5a 200 53ms","method":"PATCH","requestID":"2ddff66c35ce5f8707101b079905c705","responseTime":53,"status":200,"url":"/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0MH0.Zxj44jx522lA1ujZfakX4Ab6BpOhi2_BjG0rxZp-qQ4","level":"info","message":"auth send jwt","requestID":"41dc0ddc5f09c9e220dcbaf94bf9ea51"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"41dc0ddc5f09c9e220dcbaf94bf9ea51","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"41dc0ddc5f09c9e220dcbaf94bf9ea51"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:00Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.614937,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:00Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"41dc0ddc5f09c9e220dcbaf94bf9ea51","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843040,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0MH0.Zxj44jx522lA1ujZfakX4Ab6BpOhi2_BjG0rxZp-qQ4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"41dc0ddc5f09c9e220dcbaf94bf9ea51","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"41dc0ddc5f09c9e220dcbaf94bf9ea51"} gateway-1 | {"time_local":"28/Apr/2025:12:24:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/86340746-cf19-417c-b2a4-0dc94deb1b5a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"41dc0ddc5f09c9e220dcbaf94bf9ea51"} device-1 | {"level":"info","message":"POST /devices/86340746-cf19-417c-b2a4-0dc94deb1b5a/websocket 200 16ms","method":"POST","requestID":"41dc0ddc5f09c9e220dcbaf94bf9ea51","responseTime":16,"status":200,"url":"/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ced4f6b3746e3d2714896787e2217e31","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ced4f6b3746e3d2714896787e2217e31","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:24:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/5bb9be79-6da0-4eed-aa54-fd392a256120/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":"ced4f6b3746e3d2714896787e2217e31"} device-1 | {"level":"info","message":"OPTIONS /devices/5bb9be79-6da0-4eed-aa54-fd392a256120/websocket 200 1ms","method":"OPTIONS","requestID":"ced4f6b3746e3d2714896787e2217e31","responseTime":1,"status":200,"url":"/devices/5bb9be79-6da0-4eed-aa54-fd392a256120/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0Mn0.QWzL9FybzIq_Ynq5G8NVZDTsK3Fn0dpPKaSwogVGvZk","level":"info","message":"auth send jwt","requestID":"7bcb5d46eb53d5725964bbe1c6d1f2ca"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7bcb5d46eb53d5725964bbe1c6d1f2ca","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"7bcb5d46eb53d5725964bbe1c6d1f2ca"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:02Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.396278,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5bb9be79-6da0-4eed-aa54-fd392a256120","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"7bcb5d46eb53d5725964bbe1c6d1f2ca","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/5bb9be79-6da0-4eed-aa54-fd392a256120","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843042,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0Mn0.QWzL9FybzIq_Ynq5G8NVZDTsK3Fn0dpPKaSwogVGvZk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7bcb5d46eb53d5725964bbe1c6d1f2ca","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"7bcb5d46eb53d5725964bbe1c6d1f2ca"} device-1 | {"level":"info","message":"POST /devices/5bb9be79-6da0-4eed-aa54-fd392a256120/websocket 200 36ms","method":"POST","requestID":"7bcb5d46eb53d5725964bbe1c6d1f2ca","responseTime":36,"status":200,"url":"/devices/5bb9be79-6da0-4eed-aa54-fd392a256120/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:24:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5bb9be79-6da0-4eed-aa54-fd392a256120/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.042","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7bcb5d46eb53d5725964bbe1c6d1f2ca"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5bb9be79-6da0-4eed-aa54-fd392a256120' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0Mn0.QWzL9FybzIq_Ynq5G8NVZDTsK3Fn0dpPKaSwogVGvZk","level":"info","message":"auth send jwt","requestID":"8e30568fb8e90371217d720acdffcbd9"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8e30568fb8e90371217d720acdffcbd9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8e30568fb8e90371217d720acdffcbd9"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:02Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.697849,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"8e30568fb8e90371217d720acdffcbd9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843042,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0Mn0.QWzL9FybzIq_Ynq5G8NVZDTsK3Fn0dpPKaSwogVGvZk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8e30568fb8e90371217d720acdffcbd9","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86340746-cf19-417c-b2a4-0dc94deb1b5a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86340746-cf19-417c-b2a4-0dc94deb1b5a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:59.891372982Z"}]},"request_id":"54c6bf07-9a4a-49ca-931e-18be12b484b1","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843042.23072} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"8e30568fb8e90371217d720acdffcbd9","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8e30568fb8e90371217d720acdffcbd9"} gateway-1 | {"time_local":"28/Apr/2025:12:24:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/86340746-cf19-417c-b2a4-0dc94deb1b5a? 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":"8e30568fb8e90371217d720acdffcbd9"} device-1 | {"level":"info","message":"GET /devices/86340746-cf19-417c-b2a4-0dc94deb1b5a? 200 16ms","method":"GET","requestID":"8e30568fb8e90371217d720acdffcbd9","responseTime":16,"status":200,"url":"/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0Mn0.QWzL9FybzIq_Ynq5G8NVZDTsK3Fn0dpPKaSwogVGvZk","level":"info","message":"auth send jwt","requestID":"6b10ec086e23d655a6f67d1610f9fdb2"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6b10ec086e23d655a6f67d1610f9fdb2","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6b10ec086e23d655a6f67d1610f9fdb2"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:02Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.384784,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5bb9be79-6da0-4eed-aa54-fd392a256120","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"6b10ec086e23d655a6f67d1610f9fdb2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/5bb9be79-6da0-4eed-aa54-fd392a256120","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843042,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0Mn0.QWzL9FybzIq_Ynq5G8NVZDTsK3Fn0dpPKaSwogVGvZk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6b10ec086e23d655a6f67d1610f9fdb2","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bb9be79-6da0-4eed-aa54-fd392a256120","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bb9be79-6da0-4eed-aa54-fd392a256120","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:59.928392989Z"}]},"request_id":"5df1756e-a3dd-4c61-b3de-d069929a27eb","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843042.2502177} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6b10ec086e23d655a6f67d1610f9fdb2","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6b10ec086e23d655a6f67d1610f9fdb2"} gateway-1 | {"time_local":"28/Apr/2025:12:24:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5bb9be79-6da0-4eed-aa54-fd392a256120? 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":"6b10ec086e23d655a6f67d1610f9fdb2"} device-1 | {"level":"info","message":"GET /devices/5bb9be79-6da0-4eed-aa54-fd392a256120? 200 13ms","method":"GET","requestID":"6b10ec086e23d655a6f67d1610f9fdb2","responseTime":13,"status":200,"url":"/devices/5bb9be79-6da0-4eed-aa54-fd392a256120?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0Mn0.QWzL9FybzIq_Ynq5G8NVZDTsK3Fn0dpPKaSwogVGvZk","level":"info","message":"auth send jwt","requestID":"3906fbf58242ce55a5a3a3584625c111"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3906fbf58242ce55a5a3a3584625c111","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"3906fbf58242ce55a5a3a3584625c111"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:02Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.977816,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"3906fbf58242ce55a5a3a3584625c111","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843042,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0Mn0.QWzL9FybzIq_Ynq5G8NVZDTsK3Fn0dpPKaSwogVGvZk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3906fbf58242ce55a5a3a3584625c111","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3055de5c-fa6a-498f-8d54-42e41e04b659"},"level":"info","message":"Attempting to run experiment","requestID":"3906fbf58242ce55a5a3a3584625c111"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3055de5c-fa6a-498f-8d54-42e41e04b659"},"level":"info","message":"Attempting to book experiment","requestID":"3906fbf58242ce55a5a3a3584625c111"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3055de5c-fa6a-498f-8d54-42e41e04b659"},"level":"info","message":"Successfully booked experiment","requestID":"3906fbf58242ce55a5a3a3584625c111"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ab3a1730-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ab3a3e40-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:02Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.631142,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:02Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ab3a1730-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843042,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0Mn0.QWzL9FybzIq_Ynq5G8NVZDTsK3Fn0dpPKaSwogVGvZk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ab3a1730-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.70096,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5bb9be79-6da0-4eed-aa54-fd392a256120","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ab3a3e40-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/5bb9be79-6da0-4eed-aa54-fd392a256120","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843042,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0Mn0.QWzL9FybzIq_Ynq5G8NVZDTsK3Fn0dpPKaSwogVGvZk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ab3a3e40-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86340746-cf19-417c-b2a4-0dc94deb1b5a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86340746-cf19-417c-b2a4-0dc94deb1b5a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:59.891372982Z"}]},"request_id":"eef70f4c-9f09-4156-bfbc-e3cf603a95e9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843042.3460832} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ab3a1730-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bb9be79-6da0-4eed-aa54-fd392a256120","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bb9be79-6da0-4eed-aa54-fd392a256120","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:59.928392989Z"}]},"request_id":"26dd4317-4373-4b51-bf07-1e27a44b0f38","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843042.3467062} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ab3a3e40-242b-11f0-a4ab-3996a0934271","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ab3a1730-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/86340746-cf19-417c-b2a4-0dc94deb1b5a? 200 11ms","method":"GET","requestID":"ab3a1730-242b-11f0-a4ab-3996a0934271","responseTime":11,"status":200,"url":"/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ab3a3e40-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/5bb9be79-6da0-4eed-aa54-fd392a256120? 200 11ms","method":"GET","requestID":"ab3a3e40-242b-11f0-a4ab-3996a0934271","responseTime":11,"status":200,"url":"/devices/5bb9be79-6da0-4eed-aa54-fd392a256120?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3055de5c-fa6a-498f-8d54-42e41e04b659"},"level":"info","message":"Setting up experiment","requestID":"3906fbf58242ce55a5a3a3584625c111"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3055de5c-fa6a-498f-8d54-42e41e04b659"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"3906fbf58242ce55a5a3a3584625c111"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3055de5c-fa6a-498f-8d54-42e41e04b659"},"level":"info","message":"Successfully locked booking for experiment","requestID":"3906fbf58242ce55a5a3a3584625c111"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3055de5c-fa6a-498f-8d54-42e41e04b659"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"3906fbf58242ce55a5a3a3584625c111"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3055de5c-fa6a-498f-8d54-42e41e04b659"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"3906fbf58242ce55a5a3a3584625c111"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3055de5c-fa6a-498f-8d54-42e41e04b659"},"level":"info","message":"Attempting to update booking for experiment","requestID":"3906fbf58242ce55a5a3a3584625c111"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3055de5c-fa6a-498f-8d54-42e41e04b659"},"level":"info","message":"Successfully updated booking for experiment","requestID":"3906fbf58242ce55a5a3a3584625c111"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3055de5c-fa6a-498f-8d54-42e41e04b659"},"level":"info","message":"Successfully set up experiment","requestID":"3906fbf58242ce55a5a3a3584625c111"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ab49f5b0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ab4a1cc0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ab4a43d0-242b-11f0-a4ab-3996a0934271"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3055de5c-fa6a-498f-8d54-42e41e04b659"},"level":"info","message":"Successfully running experiment","requestID":"3906fbf58242ce55a5a3a3584625c111"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Received request.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:02Z"} authorization-1 | {"client_addr":"127.0.0.1:57302","level":"info","msg":"Sent response.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.686089,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:02Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ab49f5b0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843042,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0Mn0.QWzL9FybzIq_Ynq5G8NVZDTsK3Fn0dpPKaSwogVGvZk"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ab49f5b0-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.68702,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5bb9be79-6da0-4eed-aa54-fd392a256120","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ab4a1cc0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/5bb9be79-6da0-4eed-aa54-fd392a256120","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843042,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0Mn0.QWzL9FybzIq_Ynq5G8NVZDTsK3Fn0dpPKaSwogVGvZk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ab4a1cc0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56704","level":"info","msg":"Received request.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24: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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bb9be79-6da0-4eed-aa54-fd392a256120","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bb9be79-6da0-4eed-aa54-fd392a256120","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:59.928392989Z"}]},"request_id":"05961a58-d48c-4092-a11c-a113779721df","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843042.4553485} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86340746-cf19-417c-b2a4-0dc94deb1b5a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5411e509-fe37-4a64-8dd6-0ecc1a7e3252","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843042.455499} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ab4a1cc0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:56704","level":"info","msg":"Sent response.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.621067,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ab4a43d0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a","object_type":"device","rebac_allow":false,"scope_allow":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":"ab4a43d0-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86340746-cf19-417c-b2a4-0dc94deb1b5a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86340746-cf19-417c-b2a4-0dc94deb1b5a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:59.891372982Z"}]},"request_id":"2b76f079-63a6-49ae-9786-88680de424d9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843042.4565804} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ab4a1cc0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/5bb9be79-6da0-4eed-aa54-fd392a256120? 200 39ms","method":"GET","requestID":"ab4a1cc0-242b-11f0-a4ab-3996a0934271","responseTime":39,"status":200,"url":"/devices/5bb9be79-6da0-4eed-aa54-fd392a256120?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"ab49f5b0-242b-11f0-a4ab-3996a0934271","responseTime":28,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3055de5c-fa6a-498f-8d54-42e41e04b659#owner@http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3055de5c-fa6a-498f-8d54-42e41e04b659","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"d4e1773f-7f91-409e-b821-3d1a2a64c334","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843042.4826288} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ab4a43d0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/86340746-cf19-417c-b2a4-0dc94deb1b5a/signaling 200 39ms","method":"POST","requestID":"ab4a43d0-242b-11f0-a4ab-3996a0934271","responseTime":39,"status":200,"url":"/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a/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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e21707bd-eb3d-4293-b12c-bc3cc9dff62a","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843042.4852417} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"3906fbf58242ce55a5a3a3584625c111","responseTime":35,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ab50ac70-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ab49f5b0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/86340746-cf19-417c-b2a4-0dc94deb1b5a? 200 46ms","method":"GET","requestID":"ab49f5b0-242b-11f0-a4ab-3996a0934271","responseTime":46,"status":200,"url":"/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a?"} authorization-1 | {"client_addr":"127.0.0.1:56704","level":"info","msg":"Received request.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:02Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bb9be79-6da0-4eed-aa54-fd392a256120","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a92f8f92-3e68-489b-9eaa-597bd256b780","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843042.4915802} authorization-1 | {"client_addr":"127.0.0.1:56704","level":"info","msg":"Sent response.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.184378,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5bb9be79-6da0-4eed-aa54-fd392a256120","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ab50ac70-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5bb9be79-6da0-4eed-aa54-fd392a256120","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ab50ac70-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ab5196d0-242b-11f0-a4ab-3996a0934271"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/3055de5c-fa6a-498f-8d54-42e41e04b659","user":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"3906fbf58242ce55a5a3a3584625c111"} gateway-1 | {"time_local":"28/Apr/2025:12:24:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.238","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3906fbf58242ce55a5a3a3584625c111"} experiment-1 | {"level":"info","message":"POST /experiments? 201 232ms","method":"POST","requestID":"3906fbf58242ce55a5a3a3584625c111","responseTime":232,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:56704","level":"info","msg":"Received request.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:02Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ab50ac70-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86340746-cf19-417c-b2a4-0dc94deb1b5a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"df810845-c692-4d3a-b36d-9ca1549d1094","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843042.4980998} device-1 | {"level":"info","message":"POST /devices/5bb9be79-6da0-4eed-aa54-fd392a256120/signaling 200 11ms","method":"POST","requestID":"ab50ac70-242b-11f0-a4ab-3996a0934271","responseTime":11,"status":200,"url":"/devices/5bb9be79-6da0-4eed-aa54-fd392a256120/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0Mn0.QWzL9FybzIq_Ynq5G8NVZDTsK3Fn0dpPKaSwogVGvZk","level":"info","message":"auth send jwt","requestID":"7094670972c81c0027988ded112ab6f9"} authorization-1 | {"client_addr":"127.0.0.1:56704","level":"info","msg":"Sent response.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.075076,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:02Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7094670972c81c0027988ded112ab6f9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7094670972c81c0027988ded112ab6f9"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ab5196d0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ab5196d0-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56704","level":"info","msg":"Received request.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:02Z"} authorization-1 | {"client_addr":"127.0.0.1:56704","level":"info","msg":"Sent response.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.65976,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:02Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ab5196d0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"7094670972c81c0027988ded112ab6f9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843042,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0Mn0.QWzL9FybzIq_Ynq5G8NVZDTsK3Fn0dpPKaSwogVGvZk"} device-1 | {"level":"info","message":"POST /devices/86340746-cf19-417c-b2a4-0dc94deb1b5a/signaling 200 10ms","method":"POST","requestID":"ab5196d0-242b-11f0-a4ab-3996a0934271","responseTime":10,"status":200,"url":"/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7094670972c81c0027988ded112ab6f9","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86340746-cf19-417c-b2a4-0dc94deb1b5a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86340746-cf19-417c-b2a4-0dc94deb1b5a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:59.891372982Z"}]},"request_id":"2d96627c-e044-434b-b0b8-16af1823bd92","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843042.5060306} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7094670972c81c0027988ded112ab6f9","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7094670972c81c0027988ded112ab6f9"} gateway-1 | {"time_local":"28/Apr/2025:12:24:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/86340746-cf19-417c-b2a4-0dc94deb1b5a? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7094670972c81c0027988ded112ab6f9"} device-1 | {"level":"info","message":"GET /devices/86340746-cf19-417c-b2a4-0dc94deb1b5a? 200 34ms","method":"GET","requestID":"7094670972c81c0027988ded112ab6f9","responseTime":34,"status":200,"url":"/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ab57d860-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:56704","level":"info","msg":"Received request.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:02Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0Mn0.QWzL9FybzIq_Ynq5G8NVZDTsK3Fn0dpPKaSwogVGvZk","level":"info","message":"auth send jwt","requestID":"ba54b95d2badfc3dd928903a66f253f3"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ba54b95d2badfc3dd928903a66f253f3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ba54b95d2badfc3dd928903a66f253f3","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bb9be79-6da0-4eed-aa54-fd392a256120","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"889fa05f-997f-4a30-8014-5d796d6559e1","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843042.5404792} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:02Z"} authorization-1 | {"client_addr":"127.0.0.1:56704","level":"info","msg":"Sent response.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.019539,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5bb9be79-6da0-4eed-aa54-fd392a256120","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ab57d860-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5bb9be79-6da0-4eed-aa54-fd392a256120","object_type":"device","rebac_allow":false,"scope_allow":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":"ab57d860-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.586306,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5bb9be79-6da0-4eed-aa54-fd392a256120","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ba54b95d2badfc3dd928903a66f253f3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/5bb9be79-6da0-4eed-aa54-fd392a256120","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843042,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0Mn0.QWzL9FybzIq_Ynq5G8NVZDTsK3Fn0dpPKaSwogVGvZk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ba54b95d2badfc3dd928903a66f253f3","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ab57d860-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/5bb9be79-6da0-4eed-aa54-fd392a256120/signaling 200 12ms","method":"POST","requestID":"ab57d860-242b-11f0-a4ab-3996a0934271","responseTime":12,"status":200,"url":"/devices/5bb9be79-6da0-4eed-aa54-fd392a256120/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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bb9be79-6da0-4eed-aa54-fd392a256120","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bb9be79-6da0-4eed-aa54-fd392a256120","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:23:59.928392989Z"}]},"request_id":"c911375e-1191-43a3-96e2-7fac160547f1","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843042.546345} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3055de5c-fa6a-498f-8d54-42e41e04b659"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"3906fbf58242ce55a5a3a3584625c111"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3055de5c-fa6a-498f-8d54-42e41e04b659"},"level":"info","message":"Building connection plan","requestID":"3906fbf58242ce55a5a3a3584625c111"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"c83c8a6c-4ebf-4a05-a67f-8d658f03ccc2"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"7769eb00-8a44-4508-abb1-9996ed2e7629"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"a243b470-fd11-4c7a-96f6-03294d91f8fd"}]},"level":"info","message":"Built pairwise service configurations","requestID":"3906fbf58242ce55a5a3a3584625c111"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ba54b95d2badfc3dd928903a66f253f3","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/5bb9be79-6da0-4eed-aa54-fd392a256120"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"3906fbf58242ce55a5a3a3584625c111"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"ab5a2250-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ba54b95d2badfc3dd928903a66f253f3"} gateway-1 | {"time_local":"28/Apr/2025:12:24:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5bb9be79-6da0-4eed-aa54-fd392a256120? 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":"ba54b95d2badfc3dd928903a66f253f3"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:02Z"} device-1 | {"level":"info","message":"GET /devices/5bb9be79-6da0-4eed-aa54-fd392a256120? 200 12ms","method":"GET","requestID":"ba54b95d2badfc3dd928903a66f253f3","responseTime":12,"status":200,"url":"/devices/5bb9be79-6da0-4eed-aa54-fd392a256120?"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.753527,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ab5a2250-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843042,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0Mn0.QWzL9FybzIq_Ynq5G8NVZDTsK3Fn0dpPKaSwogVGvZk"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"ab5a2250-242b-11f0-a4ab-3996a0934271","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","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%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"db7337de-8f89-4440-9885-0cbc169c2475","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843042.5842593} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7656d811-9251-4fbb-9b34-8a45b3706f17","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843042.584454} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"ab5a2250-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"ab5a2250-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"ab5a2250-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/a785a323-34bc-4fd9-8c3d-82d765ca27bd'","requestID":"ab5a2250-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a785a323-34bc-4fd9-8c3d-82d765ca27bd'","requestID":"ab5a2250-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"ab5a2250-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 86ms","method":"POST","requestID":"ab5a2250-242b-11f0-a4ab-3996a0934271","responseTime":86,"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":"ab5a2250-242b-11f0-a4ab-3996a0934271"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/a785a323-34bc-4fd9-8c3d-82d765ca27bd","device":"5bb9be79-6da0-4eed-aa54-fd392a256120","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"device":"5bb9be79-6da0-4eed-aa54-fd392a256120","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"5bb9be79-6da0-4eed-aa54-fd392a256120","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3055de5c-fa6a-498f-8d54-42e41e04b659"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"3906fbf58242ce55a5a3a3584625c111"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ab6ee2d0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:02Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86340746-cf19-417c-b2a4-0dc94deb1b5a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9141738c-56ce-4bb5-beff-0ed03410191b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843042.6893246} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.481145,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ab6ee2d0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ab6ee2d0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ab6ee2d0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/86340746-cf19-417c-b2a4-0dc94deb1b5a/signaling 200 8ms","method":"POST","requestID":"ab6ee2d0-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ab706970-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:02Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bb9be79-6da0-4eed-aa54-fd392a256120","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bf5d673f-4629-496f-9360-d8b86e6efa10","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843042.6988807} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.295969,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5bb9be79-6da0-4eed-aa54-fd392a256120","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ab706970-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5bb9be79-6da0-4eed-aa54-fd392a256120","object_type":"device","rebac_allow":false,"scope_allow":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":"ab706970-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ab706970-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/5bb9be79-6da0-4eed-aa54-fd392a256120/signaling 200 8ms","method":"POST","requestID":"ab706970-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/5bb9be79-6da0-4eed-aa54-fd392a256120/signaling"} device-1 | {"device":"86340746-cf19-417c-b2a4-0dc94deb1b5a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"a785a323-34bc-4fd9-8c3d-82d765ca27bd","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 3038684869874988855 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:cegH\r\na=ice-pwd:baOGwy4PMwQV+dzxsts0SZx5\r\na=ice-options:trickle\r\na=fingerprint:sha-256 0A:A0:03:32:C9:31:DA:E0:FB:5F:4D:F5:9D:06:88:3C:E1:5A:4F:85:EF:E6:54:7F:0D:EB:79:EA:B3:16:40:B5\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"5bb9be79-6da0-4eed-aa54-fd392a256120","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2771437664 1 udp 2113937151 dfbd6f82-7087-424c-8e94-a778bbfd7642.local 40903 typ host generation 0 ufrag cegH network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"5bb9be79-6da0-4eed-aa54-fd392a256120","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"5bb9be79-6da0-4eed-aa54-fd392a256120","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/5bb9be79-6da0-4eed-aa54-fd392a256120'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a785a323-34bc-4fd9-8c3d-82d765ca27bd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a785a323-34bc-4fd9-8c3d-82d765ca27bd","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"62d1fc3c394a6cdfec904e6494345b94","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"62d1fc3c394a6cdfec904e6494345b94","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"5bb9be79-6da0-4eed-aa54-fd392a256120","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/5bb9be79-6da0-4eed-aa54-fd392a256120"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/a785a323-34bc-4fd9-8c3d-82d765ca27bd"}}},"level":"info","message":"received a callback","requestID":"62d1fc3c394a6cdfec904e6494345b94"} device-1 | {"device":"86340746-cf19-417c-b2a4-0dc94deb1b5a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"86340746-cf19-417c-b2a4-0dc94deb1b5a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"86340746-cf19-417c-b2a4-0dc94deb1b5a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"62d1fc3c394a6cdfec904e6494345b94","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24: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":"62d1fc3c394a6cdfec904e6494345b94"} device-1 | {"data":{"peerconnection":"a785a323-34bc-4fd9-8c3d-82d765ca27bd","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"86340746-cf19-417c-b2a4-0dc94deb1b5a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5bb9be79-6da0-4eed-aa54-fd392a256120","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"86340746-cf19-417c-b2a4-0dc94deb1b5a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"a785a323-34bc-4fd9-8c3d-82d765ca27bd","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"5bb9be79-6da0-4eed-aa54-fd392a256120","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/a785a323-34bc-4fd9-8c3d-82d765ca27bd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a785a323-34bc-4fd9-8c3d-82d765ca27bd","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"33c3bea574fcb882d2f9950ff306d736","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"33c3bea574fcb882d2f9950ff306d736","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/5bb9be79-6da0-4eed-aa54-fd392a256120"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/a785a323-34bc-4fd9-8c3d-82d765ca27bd"}}},"level":"info","message":"received a callback","requestID":"33c3bea574fcb882d2f9950ff306d736"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"aca91080-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:04Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa785a323-34bc-4fd9-8c3d-82d765ca27bd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5914e076-1b7e-4824-a8b6-9a8d8b1b2d3b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843044.749255} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.407577,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a785a323-34bc-4fd9-8c3d-82d765ca27bd","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"aca91080-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a785a323-34bc-4fd9-8c3d-82d765ca27bd","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":"aca91080-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"aca91080-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /peerconnections/a785a323-34bc-4fd9-8c3d-82d765ca27bd 200 9ms","method":"GET","requestID":"aca91080-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/peerconnections/a785a323-34bc-4fd9-8c3d-82d765ca27bd"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 31ms","method":"POST","requestID":"33c3bea574fcb882d2f9950ff306d736","responseTime":31,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24: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.033","http_referrer":"","http_user_agent":"node-fetch","requestID":"33c3bea574fcb882d2f9950ff306d736"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"acad2f30-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:04Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bb9be79-6da0-4eed-aa54-fd392a256120","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c5c46bc9-f593-4548-a4c8-654be90cbee4","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843044.776933} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.815784,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5bb9be79-6da0-4eed-aa54-fd392a256120","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"acad2f30-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5bb9be79-6da0-4eed-aa54-fd392a256120","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"acad2f30-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"acad2f30-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/5bb9be79-6da0-4eed-aa54-fd392a256120/signaling 200 12ms","method":"POST","requestID":"acad2f30-242b-11f0-a4ab-3996a0934271","responseTime":12,"status":200,"url":"/devices/5bb9be79-6da0-4eed-aa54-fd392a256120/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"acaf5210-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:04Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86340746-cf19-417c-b2a4-0dc94deb1b5a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"83478d45-61b3-41b8-a1b9-847354d5aa01","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843044.7912452} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.254161,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"acaf5210-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"acaf5210-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"acaf5210-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/86340746-cf19-417c-b2a4-0dc94deb1b5a/signaling 200 12ms","method":"POST","requestID":"acaf5210-242b-11f0-a4ab-3996a0934271","responseTime":12,"status":200,"url":"/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0NH0.qix8XzeOql5LPWdx9OD2EZ7hAwVr_Z-TVR2zfJFLyhk","level":"info","message":"auth send jwt","requestID":"59e55deb5f6eb0774aade36d94fc3494"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"59e55deb5f6eb0774aade36d94fc3494","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3055de5c-fa6a-498f-8d54-42e41e04b659","requestID":"59e55deb5f6eb0774aade36d94fc3494"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:04Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.732692,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3055de5c-fa6a-498f-8d54-42e41e04b659","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"59e55deb5f6eb0774aade36d94fc3494","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/3055de5c-fa6a-498f-8d54-42e41e04b659","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843044,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0NH0.qix8XzeOql5LPWdx9OD2EZ7hAwVr_Z-TVR2zfJFLyhk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"59e55deb5f6eb0774aade36d94fc3494","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3055de5c-fa6a-498f-8d54-42e41e04b659","requestID":"59e55deb5f6eb0774aade36d94fc3494"} gateway-1 | {"time_local":"28/Apr/2025:12:24:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3055de5c-fa6a-498f-8d54-42e41e04b659 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"59e55deb5f6eb0774aade36d94fc3494"} experiment-1 | {"level":"info","message":"GET /experiments/3055de5c-fa6a-498f-8d54-42e41e04b659 200 34ms","method":"GET","requestID":"59e55deb5f6eb0774aade36d94fc3494","responseTime":34,"status":200,"url":"/experiments/3055de5c-fa6a-498f-8d54-42e41e04b659"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0NH0.qix8XzeOql5LPWdx9OD2EZ7hAwVr_Z-TVR2zfJFLyhk","level":"info","message":"auth send jwt","requestID":"aaa57227ddfae27a5bb31bf07e87db22"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"aaa57227ddfae27a5bb31bf07e87db22","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3055de5c-fa6a-498f-8d54-42e41e04b659","requestID":"aaa57227ddfae27a5bb31bf07e87db22"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:04Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.7432,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:04Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3055de5c-fa6a-498f-8d54-42e41e04b659","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"aaa57227ddfae27a5bb31bf07e87db22","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/3055de5c-fa6a-498f-8d54-42e41e04b659","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843044,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0NH0.qix8XzeOql5LPWdx9OD2EZ7hAwVr_Z-TVR2zfJFLyhk"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"aaa57227ddfae27a5bb31bf07e87db22","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3055de5c-fa6a-498f-8d54-42e41e04b659"},"level":"info","message":"Attempting to finish experiment","requestID":"aaa57227ddfae27a5bb31bf07e87db22"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"acc87f60-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:04Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.66279,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:04Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a785a323-34bc-4fd9-8c3d-82d765ca27bd","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"acc87f60-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:http://localhost/peerconnections/a785a323-34bc-4fd9-8c3d-82d765ca27bd","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843044,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0NH0.qix8XzeOql5LPWdx9OD2EZ7hAwVr_Z-TVR2zfJFLyhk"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"acc87f60-242b-11f0-a4ab-3996a0934271","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/a785a323-34bc-4fd9-8c3d-82d765ca27bd","device":"5bb9be79-6da0-4eed-aa54-fd392a256120","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"86340746-cf19-417c-b2a4-0dc94deb1b5a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"86340746-cf19-417c-b2a4-0dc94deb1b5a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"86340746-cf19-417c-b2a4-0dc94deb1b5a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a785a323-34bc-4fd9-8c3d-82d765ca27bd' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a785a323-34bc-4fd9-8c3d-82d765ca27bd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a785a323-34bc-4fd9-8c3d-82d765ca27bd","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"aaf6a894f381273862c70a7760b5d48f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"aaf6a894f381273862c70a7760b5d48f","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa785a323-34bc-4fd9-8c3d-82d765ca27bd': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa785a323-34bc-4fd9-8c3d-82d765ca27bd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"a54ed57c-c3a7-4d60-a0b4-088145cbde19","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843044.9852245} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5a429561-6a74-4c75-bf35-2a049ec3b55d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843044.9854608} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"542cff038b7fcfc9eafb9bdc2b094950","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/5bb9be79-6da0-4eed-aa54-fd392a256120"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a785a323-34bc-4fd9-8c3d-82d765ca27bd"}}},"level":"info","message":"received a callback","requestID":"aaf6a894f381273862c70a7760b5d48f"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"542cff038b7fcfc9eafb9bdc2b094950","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"acc87f60-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5bb9be79-6da0-4eed-aa54-fd392a256120"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a785a323-34bc-4fd9-8c3d-82d765ca27bd"}}},"level":"info","message":"received a callback","requestID":"542cff038b7fcfc9eafb9bdc2b094950"} device-1 | {"data":{"peerconnection":"a785a323-34bc-4fd9-8c3d-82d765ca27bd","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"acc87f60-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"DELETE /peerconnections/a785a323-34bc-4fd9-8c3d-82d765ca27bd 204 65ms","method":"DELETE","requestID":"acc87f60-242b-11f0-a4ab-3996a0934271","responseTime":65,"status":204,"url":"/peerconnections/a785a323-34bc-4fd9-8c3d-82d765ca27bd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3055de5c-fa6a-498f-8d54-42e41e04b659"},"level":"info","message":"Successfully finished experiment","requestID":"aaa57227ddfae27a5bb31bf07e87db22"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"acd52990-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:05Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bb9be79-6da0-4eed-aa54-fd392a256120","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4db8c88d-3301-46d4-90c2-111416c0909c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843045.0397086} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.854808,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5bb9be79-6da0-4eed-aa54-fd392a256120","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"acd52990-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5bb9be79-6da0-4eed-aa54-fd392a256120","object_type":"device","rebac_allow":false,"scope_allow":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":"acd52990-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"acd52990-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/5bb9be79-6da0-4eed-aa54-fd392a256120/signaling 200 13ms","method":"POST","requestID":"acd52990-242b-11f0-a4ab-3996a0934271","responseTime":13,"status":200,"url":"/devices/5bb9be79-6da0-4eed-aa54-fd392a256120/signaling"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3055de5c-fa6a-498f-8d54-42e41e04b659': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3055de5c-fa6a-498f-8d54-42e41e04b659","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"d65cbe8d-040f-4746-b518-c126313dd180","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843045.0481575} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a4cf6238-6d2f-458e-9f86-947d2182893e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843045.0485559} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"acd79a90-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:05Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"aaa57227ddfae27a5bb31bf07e87db22","responseTime":27,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86340746-cf19-417c-b2a4-0dc94deb1b5a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dbdceafd-e5dd-4001-8195-1eb48f6dd6ca","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843045.057701} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.163499,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"acd79a90-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a","object_type":"device","rebac_allow":false,"scope_allow":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":"acd79a90-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"acd79a90-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/86340746-cf19-417c-b2a4-0dc94deb1b5a/signaling 200 13ms","method":"POST","requestID":"acd79a90-242b-11f0-a4ab-3996a0934271","responseTime":13,"status":200,"url":"/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3055de5c-fa6a-498f-8d54-42e41e04b659","requestID":"aaa57227ddfae27a5bb31bf07e87db22"} gateway-1 | {"time_local":"28/Apr/2025:12:24:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3055de5c-fa6a-498f-8d54-42e41e04b659 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.231","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aaa57227ddfae27a5bb31bf07e87db22"} experiment-1 | {"level":"info","message":"DELETE /experiments/3055de5c-fa6a-498f-8d54-42e41e04b659 204 229ms","method":"DELETE","requestID":"aaa57227ddfae27a5bb31bf07e87db22","responseTime":229,"status":204,"url":"/experiments/3055de5c-fa6a-498f-8d54-42e41e04b659"} gateway-1 | {"time_local":"28/Apr/2025:12:24:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2290","request_time":"4.303","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"cfd7951c61b724790c3f7533ed6a493d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 185ms","method":"POST","requestID":"aaf6a894f381273862c70a7760b5d48f","responseTime":185,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24: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.188","http_referrer":"","http_user_agent":"node-fetch","requestID":"aaf6a894f381273862c70a7760b5d48f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 185ms","method":"POST","requestID":"542cff038b7fcfc9eafb9bdc2b094950","responseTime":185,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24: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.189","http_referrer":"","http_user_agent":"node-fetch","requestID":"542cff038b7fcfc9eafb9bdc2b094950"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0NX0.D_UXVtE25CYkjHNLuoIR4RksDtQaIjlRmU0p99A_tts","level":"info","message":"auth send jwt","requestID":"37f10bcaa30f6bfe8036bccd80971f67"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"37f10bcaa30f6bfe8036bccd80971f67","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"37f10bcaa30f6bfe8036bccd80971f67"} gateway-1 | {"time_local":"28/Apr/2025:12:24:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2548","request_time":"2.981","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3719c5470634655be1d73f67b72b132d"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:05Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.848469,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"37f10bcaa30f6bfe8036bccd80971f67","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843045,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0NX0.D_UXVtE25CYkjHNLuoIR4RksDtQaIjlRmU0p99A_tts"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/86340746-cf19-417c-b2a4-0dc94deb1b5a' closed"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"37f10bcaa30f6bfe8036bccd80971f67","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/5bb9be79-6da0-4eed-aa54-fd392a256120' 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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc237d801-a57d-4d5c-b9e2-5ca8b38947a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4dbec6a2-3ce1-4ee8-bfbb-2c5ddb634972","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843045.2197347} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"37f10bcaa30f6bfe8036bccd80971f67","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a9a48538-e0cb-474b-ba81-af637a99037b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843045.2243948} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"37f10bcaa30f6bfe8036bccd80971f67","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc237d801-a57d-4d5c-b9e2-5ca8b38947a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"abdf7f4d-449a-43f6-af27-87cf779b7846","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843045.2329774} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"92502ca7-dc37-47b3-9ce8-11a3138b5ff2","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843045.2331147} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"37f10bcaa30f6bfe8036bccd80971f67","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc237d801-a57d-4d5c-b9e2-5ca8b38947a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc237d801-a57d-4d5c-b9e2-5ca8b38947a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:05.232961430Z"}]},"request_id":"a07fe70c-971d-4897-acd3-603403e0e35d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843045.2375126} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"37f10bcaa30f6bfe8036bccd80971f67","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"37f10bcaa30f6bfe8036bccd80971f67"} gateway-1 | {"time_local":"28/Apr/2025:12:24:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.067","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"37f10bcaa30f6bfe8036bccd80971f67"} device-1 | {"level":"info","message":"POST /devices? 201 63ms","method":"POST","requestID":"37f10bcaa30f6bfe8036bccd80971f67","responseTime":63,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0NX0.D_UXVtE25CYkjHNLuoIR4RksDtQaIjlRmU0p99A_tts","level":"info","message":"auth send jwt","requestID":"fd071d1eb54fa0cfc1cfbfec98bf2f55"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fd071d1eb54fa0cfc1cfbfec98bf2f55","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"fd071d1eb54fa0cfc1cfbfec98bf2f55"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:05Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.729244,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"fd071d1eb54fa0cfc1cfbfec98bf2f55","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843045,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0NX0.D_UXVtE25CYkjHNLuoIR4RksDtQaIjlRmU0p99A_tts"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fd071d1eb54fa0cfc1cfbfec98bf2f55","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0b7a295-3c24-4219-9948-eb24ad9b3f7c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"eadb1e52-29aa-4c78-a988-91b567424533","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843045.3276641} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"fd071d1eb54fa0cfc1cfbfec98bf2f55","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f7cdc235-e4fa-40be-9fbb-db6603854cfc","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843045.3319905} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"fd071d1eb54fa0cfc1cfbfec98bf2f55","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0b7a295-3c24-4219-9948-eb24ad9b3f7c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"ce483734-12a8-4921-bfac-687b800fef7d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843045.3651414} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6ec0493d-db9a-4e77-95f4-97db0acbccfe","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843045.3654191} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"fd071d1eb54fa0cfc1cfbfec98bf2f55","responseTime":35,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0b7a295-3c24-4219-9948-eb24ad9b3f7c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0b7a295-3c24-4219-9948-eb24ad9b3f7c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:05.365126846Z"}]},"request_id":"ccb15531-a7b7-4150-8b65-b70beeb6cb41","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843045.3688369} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"fd071d1eb54fa0cfc1cfbfec98bf2f55","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"fd071d1eb54fa0cfc1cfbfec98bf2f55"} gateway-1 | {"time_local":"28/Apr/2025:12:24:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.102","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fd071d1eb54fa0cfc1cfbfec98bf2f55"} device-1 | {"level":"info","message":"POST /devices? 201 98ms","method":"POST","requestID":"fd071d1eb54fa0cfc1cfbfec98bf2f55","responseTime":98,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1c261cb9fc0763bf31f994b996cc6e0d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1c261cb9fc0763bf31f994b996cc6e0d","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cdd42f7292d712da3f395cffc33a9e18","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} gateway-1 | {"time_local":"28/Apr/2025:12:24:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c/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":"1c261cb9fc0763bf31f994b996cc6e0d"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"cdd42f7292d712da3f395cffc33a9e18","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c/websocket 200 1ms","method":"OPTIONS","requestID":"1c261cb9fc0763bf31f994b996cc6e0d","responseTime":1,"status":200,"url":"/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:24:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2/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":"cdd42f7292d712da3f395cffc33a9e18"} device-1 | {"level":"info","message":"OPTIONS /devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2/websocket 200 1ms","method":"OPTIONS","requestID":"cdd42f7292d712da3f395cffc33a9e18","responseTime":1,"status":200,"url":"/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0N30.W5r3Poj3YrPsWEcQzVNgLGG_MZXHtiaV9ZmeK3Yoff0","level":"info","message":"auth send jwt","requestID":"c243828918f4a9db6c069ee4eff7f873"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"c243828918f4a9db6c069ee4eff7f873","responseTime":7,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0N30.W5r3Poj3YrPsWEcQzVNgLGG_MZXHtiaV9ZmeK3Yoff0","level":"info","message":"auth send jwt","requestID":"5c9a7c7796efdca10cfc927058a4e756"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"c243828918f4a9db6c069ee4eff7f873"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"5c9a7c7796efdca10cfc927058a4e756","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"5c9a7c7796efdca10cfc927058a4e756"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:07Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.871365,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c243828918f4a9db6c069ee4eff7f873","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843047,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0N30.W5r3Poj3YrPsWEcQzVNgLGG_MZXHtiaV9ZmeK3Yoff0"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"c243828918f4a9db6c069ee4eff7f873","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Received request.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:07Z"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Sent response.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.981841,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"5c9a7c7796efdca10cfc927058a4e756","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843047,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0N30.W5r3Poj3YrPsWEcQzVNgLGG_MZXHtiaV9ZmeK3Yoff0"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"5c9a7c7796efdca10cfc927058a4e756","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"c243828918f4a9db6c069ee4eff7f873"} gateway-1 | {"time_local":"28/Apr/2025:12:24:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.043","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c243828918f4a9db6c069ee4eff7f873"} device-1 | {"level":"info","message":"POST /devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c/websocket 200 34ms","method":"POST","requestID":"c243828918f4a9db6c069ee4eff7f873","responseTime":34,"status":200,"url":"/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"5c9a7c7796efdca10cfc927058a4e756"} device-1 | {"level":"info","message":"POST /devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2/websocket 200 38ms","method":"POST","requestID":"5c9a7c7796efdca10cfc927058a4e756","responseTime":38,"status":200,"url":"/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:24:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.048","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5c9a7c7796efdca10cfc927058a4e756"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0N30.W5r3Poj3YrPsWEcQzVNgLGG_MZXHtiaV9ZmeK3Yoff0","level":"info","message":"auth send jwt","requestID":"149c4f0d728166462996d02247928bde"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"149c4f0d728166462996d02247928bde","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"149c4f0d728166462996d02247928bde"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Received request.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:07Z"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Sent response.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.684078,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"149c4f0d728166462996d02247928bde","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843047,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0N30.W5r3Poj3YrPsWEcQzVNgLGG_MZXHtiaV9ZmeK3Yoff0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"149c4f0d728166462996d02247928bde","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc237d801-a57d-4d5c-b9e2-5ca8b38947a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc237d801-a57d-4d5c-b9e2-5ca8b38947a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:05.232961430Z"}]},"request_id":"050bee80-9bb0-4769-9626-a54b7f53369c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843047.697181} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"149c4f0d728166462996d02247928bde","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"149c4f0d728166462996d02247928bde"} gateway-1 | {"time_local":"28/Apr/2025:12:24:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2? 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":"149c4f0d728166462996d02247928bde"} device-1 | {"level":"info","message":"GET /devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2? 200 11ms","method":"GET","requestID":"149c4f0d728166462996d02247928bde","responseTime":11,"status":200,"url":"/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0N30.W5r3Poj3YrPsWEcQzVNgLGG_MZXHtiaV9ZmeK3Yoff0","level":"info","message":"auth send jwt","requestID":"631261307d162708d6a950e7070db606"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"631261307d162708d6a950e7070db606","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"631261307d162708d6a950e7070db606"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Received request.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:07Z"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Sent response.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.713059,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"631261307d162708d6a950e7070db606","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843047,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0N30.W5r3Poj3YrPsWEcQzVNgLGG_MZXHtiaV9ZmeK3Yoff0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"631261307d162708d6a950e7070db606","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0b7a295-3c24-4219-9948-eb24ad9b3f7c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0b7a295-3c24-4219-9948-eb24ad9b3f7c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:05.365126846Z"}]},"request_id":"71472053-206d-41a3-8442-6bebb5a51dc6","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843047.712916} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"631261307d162708d6a950e7070db606","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"631261307d162708d6a950e7070db606"} device-1 | {"level":"info","message":"GET /devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c? 200 12ms","method":"GET","requestID":"631261307d162708d6a950e7070db606","responseTime":12,"status":200,"url":"/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c?"} gateway-1 | {"time_local":"28/Apr/2025:12:24:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c? 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":"631261307d162708d6a950e7070db606"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0N30.W5r3Poj3YrPsWEcQzVNgLGG_MZXHtiaV9ZmeK3Yoff0","level":"info","message":"auth send jwt","requestID":"565496eb114600e8da759a61dcf1ee71"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"565496eb114600e8da759a61dcf1ee71","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"565496eb114600e8da759a61dcf1ee71"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Received request.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:07Z"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Sent response.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.712804,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"565496eb114600e8da759a61dcf1ee71","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843047,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0N30.W5r3Poj3YrPsWEcQzVNgLGG_MZXHtiaV9ZmeK3Yoff0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"565496eb114600e8da759a61dcf1ee71","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a645656a-41e4-4cf8-9537-00ca9798f1d4"},"level":"info","message":"Attempting to run experiment","requestID":"565496eb114600e8da759a61dcf1ee71"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a645656a-41e4-4cf8-9537-00ca9798f1d4"},"level":"info","message":"Attempting to book experiment","requestID":"565496eb114600e8da759a61dcf1ee71"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a645656a-41e4-4cf8-9537-00ca9798f1d4"},"level":"info","message":"Successfully booked experiment","requestID":"565496eb114600e8da759a61dcf1ee71"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ae7719c0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ae7767e0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Received request.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:07Z"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Sent response.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.823826,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:07Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ae7719c0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843047,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0N30.W5r3Poj3YrPsWEcQzVNgLGG_MZXHtiaV9ZmeK3Yoff0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ae7719c0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.786933,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ae7767e0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843047,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0N30.W5r3Poj3YrPsWEcQzVNgLGG_MZXHtiaV9ZmeK3Yoff0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ae7767e0-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc237d801-a57d-4d5c-b9e2-5ca8b38947a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc237d801-a57d-4d5c-b9e2-5ca8b38947a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:05.232961430Z"}]},"request_id":"3c8e0dcb-17b2-47d1-8f50-6b1e5e19965b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843047.784277} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"ae7719c0-242b-11f0-a4ab-3996a0934271","responseTime":29,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0b7a295-3c24-4219-9948-eb24ad9b3f7c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0b7a295-3c24-4219-9948-eb24ad9b3f7c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:05.365126846Z"}]},"request_id":"195c1d42-10c6-41f2-82e4-24357082f38d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843047.8096263} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"ae7767e0-242b-11f0-a4ab-3996a0934271","responseTime":28,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ae7719c0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2? 200 42ms","method":"GET","requestID":"ae7719c0-242b-11f0-a4ab-3996a0934271","responseTime":42,"status":200,"url":"/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ae7767e0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c? 200 41ms","method":"GET","requestID":"ae7767e0-242b-11f0-a4ab-3996a0934271","responseTime":41,"status":200,"url":"/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a645656a-41e4-4cf8-9537-00ca9798f1d4"},"level":"info","message":"Setting up experiment","requestID":"565496eb114600e8da759a61dcf1ee71"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a645656a-41e4-4cf8-9537-00ca9798f1d4"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"565496eb114600e8da759a61dcf1ee71"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a645656a-41e4-4cf8-9537-00ca9798f1d4"},"level":"info","message":"Successfully locked booking for experiment","requestID":"565496eb114600e8da759a61dcf1ee71"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a645656a-41e4-4cf8-9537-00ca9798f1d4"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"565496eb114600e8da759a61dcf1ee71"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a645656a-41e4-4cf8-9537-00ca9798f1d4"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"565496eb114600e8da759a61dcf1ee71"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a645656a-41e4-4cf8-9537-00ca9798f1d4"},"level":"info","message":"Attempting to update booking for experiment","requestID":"565496eb114600e8da759a61dcf1ee71"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a645656a-41e4-4cf8-9537-00ca9798f1d4"},"level":"info","message":"Successfully updated booking for experiment","requestID":"565496eb114600e8da759a61dcf1ee71"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a645656a-41e4-4cf8-9537-00ca9798f1d4"},"level":"info","message":"Successfully set up experiment","requestID":"565496eb114600e8da759a61dcf1ee71"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ae8d60e0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ae8d87f0-242b-11f0-a4ab-3996a0934271"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a645656a-41e4-4cf8-9537-00ca9798f1d4"},"level":"info","message":"Successfully running experiment","requestID":"565496eb114600e8da759a61dcf1ee71"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ae8dd610-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:07Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.723721,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:07Z"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Received request.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ae8d60e0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843047,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0N30.W5r3Poj3YrPsWEcQzVNgLGG_MZXHtiaV9ZmeK3Yoff0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ae8d60e0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Sent response.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.587341,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:07Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ae8d87f0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843047,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0N30.W5r3Poj3YrPsWEcQzVNgLGG_MZXHtiaV9ZmeK3Yoff0"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ae8d87f0-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc237d801-a57d-4d5c-b9e2-5ca8b38947a2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e2949d7b-b537-4b8b-8e2a-a400b6b59379","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843047.9278538} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.030201,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:07Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/a645656a-41e4-4cf8-9537-00ca9798f1d4","user":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"565496eb114600e8da759a61dcf1ee71"} experiment-1 | {"level":"info","message":"POST /experiments? 201 229ms","method":"POST","requestID":"565496eb114600e8da759a61dcf1ee71","responseTime":229,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ae8dd610-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2","object_type":"device","rebac_allow":false,"scope_allow":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":"ae8dd610-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc237d801-a57d-4d5c-b9e2-5ca8b38947a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc237d801-a57d-4d5c-b9e2-5ca8b38947a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:05.232961430Z"}]},"request_id":"19458905-c768-4a74-a920-65348764e15e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843047.9334784} gateway-1 | {"time_local":"28/Apr/2025:12:24:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"777","request_time":"0.233","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"565496eb114600e8da759a61dcf1ee71"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0b7a295-3c24-4219-9948-eb24ad9b3f7c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0b7a295-3c24-4219-9948-eb24ad9b3f7c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:05.365126846Z"}]},"request_id":"aadcfab0-25f2-4a8d-a0f3-019531e5055c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843047.9345436} authorization-1 | {"level":"info","message":"POST /relations/query 200 9ms","method":"POST","requestID":"ae8d60e0-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ae8d87f0-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa645656a-41e4-4cf8-9537-00ca9798f1d4#owner@http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa645656a-41e4-4cf8-9537-00ca9798f1d4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"bc1b5190-cca0-4748-a244-ac02f557b13d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843047.9378073} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"02ca0ee5-c4b1-4219-a34d-b73728bb4fd1","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843047.938491} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ae8dd610-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"565496eb114600e8da759a61dcf1ee71","responseTime":16,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"POST /devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2/signaling 200 26ms","method":"POST","requestID":"ae8dd610-242b-11f0-a4ab-3996a0934271","responseTime":26,"status":200,"url":"/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ae8d60e0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2? 200 29ms","method":"GET","requestID":"ae8d60e0-242b-11f0-a4ab-3996a0934271","responseTime":29,"status":200,"url":"/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ae8d87f0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c? 200 29ms","method":"GET","requestID":"ae8d87f0-242b-11f0-a4ab-3996a0934271","responseTime":29,"status":200,"url":"/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ae921bd0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ae929100-242b-11f0-a4ab-3996a0934271"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0N30.W5r3Poj3YrPsWEcQzVNgLGG_MZXHtiaV9ZmeK3Yoff0","level":"info","message":"auth send jwt","requestID":"889f39d7691073f9c2831e676eaa94c5"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:07Z"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Received request.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:07Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"889f39d7691073f9c2831e676eaa94c5","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0b7a295-3c24-4219-9948-eb24ad9b3f7c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"88dc0f7b-3592-4a71-9854-4020969dbbeb","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843047.9580452} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.171182,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:07Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"889f39d7691073f9c2831e676eaa94c5"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ae921bd0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c","object_type":"device","rebac_allow":false,"scope_allow":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":"ae921bd0-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc237d801-a57d-4d5c-b9e2-5ca8b38947a2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2fe22c9d-b408-42c6-bc85-aa31af522c62","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843047.959064} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Sent response.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.828372,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ae929100-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ae929100-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Received request.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:07Z"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Sent response.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.054134,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"889f39d7691073f9c2831e676eaa94c5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843047,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0N30.W5r3Poj3YrPsWEcQzVNgLGG_MZXHtiaV9ZmeK3Yoff0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"889f39d7691073f9c2831e676eaa94c5","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ae921bd0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c/signaling 200 19ms","method":"POST","requestID":"ae921bd0-242b-11f0-a4ab-3996a0934271","responseTime":19,"status":200,"url":"/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ae929100-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2/signaling 200 18ms","method":"POST","requestID":"ae929100-242b-11f0-a4ab-3996a0934271","responseTime":18,"status":200,"url":"/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2/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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc237d801-a57d-4d5c-b9e2-5ca8b38947a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc237d801-a57d-4d5c-b9e2-5ca8b38947a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:05.232961430Z"}]},"request_id":"3299fabd-f8d8-423b-a08d-46c0b84bfb24","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843047.9698422} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"889f39d7691073f9c2831e676eaa94c5","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ae95c550-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"889f39d7691073f9c2831e676eaa94c5"} device-1 | {"level":"info","message":"GET /devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2? 200 17ms","method":"GET","requestID":"889f39d7691073f9c2831e676eaa94c5","responseTime":17,"status":200,"url":"/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2?"} gateway-1 | {"time_local":"28/Apr/2025:12:24:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2? 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":"889f39d7691073f9c2831e676eaa94c5"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Received request.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:07Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0b7a295-3c24-4219-9948-eb24ad9b3f7c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ce7e8b81-34b4-49f5-b5c5-3c8281c66152","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843047.9776127} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Sent response.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.561173,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ae95c550-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ae95c550-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0N30.W5r3Poj3YrPsWEcQzVNgLGG_MZXHtiaV9ZmeK3Yoff0","level":"info","message":"auth send jwt","requestID":"0d8501ebb566446cfdefc9f4ebf45484"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0d8501ebb566446cfdefc9f4ebf45484","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0d8501ebb566446cfdefc9f4ebf45484"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ae95c550-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c/signaling 200 10ms","method":"POST","requestID":"ae95c550-242b-11f0-a4ab-3996a0934271","responseTime":10,"status":200,"url":"/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Received request.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:07Z"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Sent response.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.742194,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:07Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a645656a-41e4-4cf8-9537-00ca9798f1d4"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"565496eb114600e8da759a61dcf1ee71"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a645656a-41e4-4cf8-9537-00ca9798f1d4"},"level":"info","message":"Building connection plan","requestID":"565496eb114600e8da759a61dcf1ee71"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"0d8501ebb566446cfdefc9f4ebf45484","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843047,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0N30.W5r3Poj3YrPsWEcQzVNgLGG_MZXHtiaV9ZmeK3Yoff0"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"d14f6f4c-1e4e-4a5f-9b85-4b3d6c597469"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"5c662ccf-dc7b-45d7-821a-51d6e9cf2cf0"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"117d8269-c7aa-4cd4-b9e8-5be1f99c5d2c"}]},"level":"info","message":"Built pairwise service configurations","requestID":"565496eb114600e8da759a61dcf1ee71"} 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/a0b7a295-3c24-4219-9948-eb24ad9b3f7c"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"565496eb114600e8da759a61dcf1ee71"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0d8501ebb566446cfdefc9f4ebf45484","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"ae980f40-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0b7a295-3c24-4219-9948-eb24ad9b3f7c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0b7a295-3c24-4219-9948-eb24ad9b3f7c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:05.365126846Z"}]},"request_id":"592d72ad-603d-460c-8394-b562cda7b3e1","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843047.9889429} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0d8501ebb566446cfdefc9f4ebf45484","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Received request.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:07Z"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Sent response.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.738649,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:07Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0d8501ebb566446cfdefc9f4ebf45484"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ae980f40-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843047,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0N30.W5r3Poj3YrPsWEcQzVNgLGG_MZXHtiaV9ZmeK3Yoff0"} gateway-1 | {"time_local":"28/Apr/2025:12:24:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c? 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":"0d8501ebb566446cfdefc9f4ebf45484"} device-1 | {"level":"info","message":"GET /devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c? 200 12ms","method":"GET","requestID":"0d8501ebb566446cfdefc9f4ebf45484","responseTime":12,"status":200,"url":"/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c?"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"ae980f40-242b-11f0-a4ab-3996a0934271","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","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%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"5587b186-ce24-4ccc-9fd9-ed1d9033affd","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843047.9994173} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ce30998d-a930-47c4-8b00-90abd8901f37","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843048.0001361} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"ae980f40-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"ae980f40-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"ae980f40-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/c73e26c1-8e60-43ee-98f4-71a89db0c15c'","requestID":"ae980f40-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c73e26c1-8e60-43ee-98f4-71a89db0c15c'","requestID":"ae980f40-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"ae980f40-242b-11f0-a4ab-3996a0934271"} 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":"ae980f40-242b-11f0-a4ab-3996a0934271","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":"ae980f40-242b-11f0-a4ab-3996a0934271"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/c73e26c1-8e60-43ee-98f4-71a89db0c15c","device":"c237d801-a57d-4d5c-b9e2-5ca8b38947a2","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}],"tiebreaker":true} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/c73e26c1-8e60-43ee-98f4-71a89db0c15c","device":"a0b7a295-3c24-4219-9948-eb24ad9b3f7c","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/a645656a-41e4-4cf8-9537-00ca9798f1d4"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"565496eb114600e8da759a61dcf1ee71"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"aea30bc0-242b-11f0-a4ab-3996a0934271"} device-1 | {"device":"c237d801-a57d-4d5c-b9e2-5ca8b38947a2","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"c237d801-a57d-4d5c-b9e2-5ca8b38947a2","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Received request.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:08Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc237d801-a57d-4d5c-b9e2-5ca8b38947a2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0625e2a2-fcfe-41f4-bfc0-581fe9450dce","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843048.0644157} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Sent response.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.431967,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"aea30bc0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"aea30bc0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"aea30bc0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2/signaling 200 10ms","method":"POST","requestID":"aea30bc0-242b-11f0-a4ab-3996a0934271","responseTime":10,"status":200,"url":"/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2/signaling"} device-1 | {"device":"a0b7a295-3c24-4219-9948-eb24ad9b3f7c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"a0b7a295-3c24-4219-9948-eb24ad9b3f7c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"aea4e080-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Received request.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:08Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0b7a295-3c24-4219-9948-eb24ad9b3f7c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2adac99b-7df3-42a2-84ce-794dcfeb78f9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843048.1010234} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Sent response.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.834152,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"aea4e080-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"aea4e080-242b-11f0-a4ab-3996a0934271","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 727277129203312081 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:BAW3\r\na=ice-pwd:aGTI9ZM9ge+dx1xe1tS0aa6g\r\na=ice-options:trickle\r\na=fingerprint:sha-256 7B:DB:46:94:7B:F1:1F:6C:81:EC:53:BF:E6:F0:2A:74:A0:34:EF:22:2A:CC:21:8D:35:ED:4C:82:CC:63:F4:50\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"c237d801-a57d-4d5c-b9e2-5ca8b38947a2","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"aea4e080-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c/signaling 200 36ms","method":"POST","requestID":"aea4e080-242b-11f0-a4ab-3996a0934271","responseTime":36,"status":200,"url":"/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 3815390742071116362 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:hXJ/\r\na=ice-pwd:qlxjBA0bjj6wB448RgjG5c7k\r\na=ice-options:trickle\r\na=fingerprint:sha-256 B5:D5:2B:E4:5B:FE:93:DA:46:EF:7E:F6:BE:F5:A2:0C:87:91:25:9E:8B:5C:D2:D0:4F:7E:4A:48:16:15:BA:48\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"a0b7a295-3c24-4219-9948-eb24ad9b3f7c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:925414357 1 udp 2113937151 7a79090e-1367-439e-bd9e-efd6c580d7bd.local 49527 typ host generation 0 ufrag hXJ/ network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"a0b7a295-3c24-4219-9948-eb24ad9b3f7c","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/a0b7a295-3c24-4219-9948-eb24ad9b3f7c'"} device-1 | {"content":{"candidate":"candidate:3721496559 1 udp 2113937151 572312c7-cc61-45ff-aa46-8eb05c4c19f4.local 52346 typ host generation 0 ufrag BAW3 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"c237d801-a57d-4d5c-b9e2-5ca8b38947a2","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"c237d801-a57d-4d5c-b9e2-5ca8b38947a2","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/c73e26c1-8e60-43ee-98f4-71a89db0c15c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c73e26c1-8e60-43ee-98f4-71a89db0c15c","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0113c82ff71b7b1591fc25452284fa22","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"c237d801-a57d-4d5c-b9e2-5ca8b38947a2","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0113c82ff71b7b1591fc25452284fa22","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"a0b7a295-3c24-4219-9948-eb24ad9b3f7c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"a0b7a295-3c24-4219-9948-eb24ad9b3f7c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"c237d801-a57d-4d5c-b9e2-5ca8b38947a2","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"a0b7a295-3c24-4219-9948-eb24ad9b3f7c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c73e26c1-8e60-43ee-98f4-71a89db0c15c"}}},"level":"info","message":"received a callback","requestID":"0113c82ff71b7b1591fc25452284fa22"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"0113c82ff71b7b1591fc25452284fa22","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"0113c82ff71b7b1591fc25452284fa22"} device-1 | {"device":"a0b7a295-3c24-4219-9948-eb24ad9b3f7c","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"c73e26c1-8e60-43ee-98f4-71a89db0c15c","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"c73e26c1-8e60-43ee-98f4-71a89db0c15c","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/c73e26c1-8e60-43ee-98f4-71a89db0c15c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c73e26c1-8e60-43ee-98f4-71a89db0c15c","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2cd230c5239e6f28ce7aea182a92a3b8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2cd230c5239e6f28ce7aea182a92a3b8","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/a0b7a295-3c24-4219-9948-eb24ad9b3f7c"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c73e26c1-8e60-43ee-98f4-71a89db0c15c"}}},"level":"info","message":"received a callback","requestID":"2cd230c5239e6f28ce7aea182a92a3b8"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"aebef830-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"aebef830-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Received request.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:08Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc73e26c1-8e60-43ee-98f4-71a89db0c15c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1d353813-6799-49ed-b087-0fe9b0df1852","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843048.2495277} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Sent response.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.67237,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c73e26c1-8e60-43ee-98f4-71a89db0c15c","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"aebef830-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c73e26c1-8e60-43ee-98f4-71a89db0c15c","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":"aebef830-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"GET /peerconnections/c73e26c1-8e60-43ee-98f4-71a89db0c15c 200 14ms","method":"GET","requestID":"aebef830-242b-11f0-a4ab-3996a0934271","responseTime":14,"status":200,"url":"/peerconnections/c73e26c1-8e60-43ee-98f4-71a89db0c15c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 84ms","method":"POST","requestID":"2cd230c5239e6f28ce7aea182a92a3b8","responseTime":84,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24: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.086","http_referrer":"","http_user_agent":"node-fetch","requestID":"2cd230c5239e6f28ce7aea182a92a3b8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"aec75ca0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Received request.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:08Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0b7a295-3c24-4219-9948-eb24ad9b3f7c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c092ef04-71ca-41a5-a4a9-919848343888","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843048.30228} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Sent response.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.554341,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"aec75ca0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"aec75ca0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"aec75ca0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c/signaling 200 9ms","method":"POST","requestID":"aec75ca0-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"aec90a50-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Received request.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:08Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc237d801-a57d-4d5c-b9e2-5ca8b38947a2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"037207cf-59c4-4845-a840-3e1014f15105","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843048.338864} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Sent response.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.183944,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"aec90a50-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"aec90a50-242b-11f0-a4ab-3996a0934271","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"aec90a50-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2/signaling 200 35ms","method":"POST","requestID":"aec90a50-242b-11f0-a4ab-3996a0934271","responseTime":35,"status":200,"url":"/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0OH0.AcQpFNDZJ6d32SpFx-8kp9n6p6ZxPa5lscMeWZMB83k","level":"info","message":"auth send jwt","requestID":"939f49890b4be9eb307f2dc172853fed"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"939f49890b4be9eb307f2dc172853fed","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a645656a-41e4-4cf8-9537-00ca9798f1d4","requestID":"939f49890b4be9eb307f2dc172853fed"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Received request.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:08Z"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Sent response.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.070432,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a645656a-41e4-4cf8-9537-00ca9798f1d4","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"939f49890b4be9eb307f2dc172853fed","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/a645656a-41e4-4cf8-9537-00ca9798f1d4","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843048,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0OH0.AcQpFNDZJ6d32SpFx-8kp9n6p6ZxPa5lscMeWZMB83k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"939f49890b4be9eb307f2dc172853fed","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a645656a-41e4-4cf8-9537-00ca9798f1d4","requestID":"939f49890b4be9eb307f2dc172853fed"} gateway-1 | {"time_local":"28/Apr/2025:12:24:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a645656a-41e4-4cf8-9537-00ca9798f1d4 HTTP/1.1","status": "200","body_bytes_sent":"850","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"939f49890b4be9eb307f2dc172853fed"} experiment-1 | {"level":"info","message":"GET /experiments/a645656a-41e4-4cf8-9537-00ca9798f1d4 200 13ms","method":"GET","requestID":"939f49890b4be9eb307f2dc172853fed","responseTime":13,"status":200,"url":"/experiments/a645656a-41e4-4cf8-9537-00ca9798f1d4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0OH0.AcQpFNDZJ6d32SpFx-8kp9n6p6ZxPa5lscMeWZMB83k","level":"info","message":"auth send jwt","requestID":"1d6ebd5dc01ae2ae15ff8656c8283c4c"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1d6ebd5dc01ae2ae15ff8656c8283c4c","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a645656a-41e4-4cf8-9537-00ca9798f1d4","requestID":"1d6ebd5dc01ae2ae15ff8656c8283c4c"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Received request.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:08Z"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Sent response.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.951267,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:08Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a645656a-41e4-4cf8-9537-00ca9798f1d4","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"1d6ebd5dc01ae2ae15ff8656c8283c4c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/a645656a-41e4-4cf8-9537-00ca9798f1d4","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843048,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0OH0.AcQpFNDZJ6d32SpFx-8kp9n6p6ZxPa5lscMeWZMB83k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1d6ebd5dc01ae2ae15ff8656c8283c4c","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a645656a-41e4-4cf8-9537-00ca9798f1d4"},"level":"info","message":"Attempting to finish experiment","requestID":"1d6ebd5dc01ae2ae15ff8656c8283c4c"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"aef4ae30-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Received request.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:08Z"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Sent response.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.011322,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:08Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c73e26c1-8e60-43ee-98f4-71a89db0c15c","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"aef4ae30-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:http://localhost/peerconnections/c73e26c1-8e60-43ee-98f4-71a89db0c15c","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843048,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0OH0.AcQpFNDZJ6d32SpFx-8kp9n6p6ZxPa5lscMeWZMB83k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"aef4ae30-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/c73e26c1-8e60-43ee-98f4-71a89db0c15c","device":"a0b7a295-3c24-4219-9948-eb24ad9b3f7c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/c73e26c1-8e60-43ee-98f4-71a89db0c15c","device":"c237d801-a57d-4d5c-b9e2-5ca8b38947a2","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/c73e26c1-8e60-43ee-98f4-71a89db0c15c' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c73e26c1-8e60-43ee-98f4-71a89db0c15c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c73e26c1-8e60-43ee-98f4-71a89db0c15c","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc73e26c1-8e60-43ee-98f4-71a89db0c15c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc73e26c1-8e60-43ee-98f4-71a89db0c15c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"f8ff2120-f93c-4387-af41-369c523e587b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843048.6104805} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8ebe6b5835df5c39ca611cd102aed229","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"8ebe6b5835df5c39ca611cd102aed229","responseTime":0,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b3d8166f-71e4-400e-8440-1edcd6170fd7","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843048.6108332} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a2ef5ae0b3a6817ecd616f70af61dbac","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"aef4ae30-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c73e26c1-8e60-43ee-98f4-71a89db0c15c"}}},"level":"info","message":"received a callback","requestID":"8ebe6b5835df5c39ca611cd102aed229"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a2ef5ae0b3a6817ecd616f70af61dbac","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c73e26c1-8e60-43ee-98f4-71a89db0c15c"}}},"level":"info","message":"received a callback","requestID":"a2ef5ae0b3a6817ecd616f70af61dbac"} device-1 | {"data":{"peerconnection":"c73e26c1-8e60-43ee-98f4-71a89db0c15c","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"aef4ae30-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"DELETE /peerconnections/c73e26c1-8e60-43ee-98f4-71a89db0c15c 204 43ms","method":"DELETE","requestID":"aef4ae30-242b-11f0-a4ab-3996a0934271","responseTime":43,"status":204,"url":"/peerconnections/c73e26c1-8e60-43ee-98f4-71a89db0c15c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a645656a-41e4-4cf8-9537-00ca9798f1d4"},"level":"info","message":"Successfully finished experiment","requestID":"1d6ebd5dc01ae2ae15ff8656c8283c4c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"af01cd90-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Received request.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:08Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0b7a295-3c24-4219-9948-eb24ad9b3f7c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"83c2e19e-a684-4d21-8b1e-4347efb47a37","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843048.6859305} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Sent response.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.56984,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"af01cd90-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"af01cd90-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"af01cd90-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c/signaling 200 10ms","method":"POST","requestID":"af01cd90-242b-11f0-a4ab-3996a0934271","responseTime":10,"status":200,"url":"/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"af03a250-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa645656a-41e4-4cf8-9537-00ca9798f1d4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa645656a-41e4-4cf8-9537-00ca9798f1d4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"c4d66f11-124c-40fe-916a-ef214a6d04ae","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843048.6932716} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3075d890-9f53-4e9c-8b15-0828fb102b72","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843048.6935601} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"1d6ebd5dc01ae2ae15ff8656c8283c4c","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Received request.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:08Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc237d801-a57d-4d5c-b9e2-5ca8b38947a2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bd5ced7e-95c2-470b-ab0c-417d7381421d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843048.7223012} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Sent response.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.558521,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"af03a250-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"af03a250-242b-11f0-a4ab-3996a0934271","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"af03a250-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2/signaling 200 33ms","method":"POST","requestID":"af03a250-242b-11f0-a4ab-3996a0934271","responseTime":33,"status":200,"url":"/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a645656a-41e4-4cf8-9537-00ca9798f1d4","requestID":"1d6ebd5dc01ae2ae15ff8656c8283c4c"} gateway-1 | {"time_local":"28/Apr/2025:12:24:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a645656a-41e4-4cf8-9537-00ca9798f1d4 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.215","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1d6ebd5dc01ae2ae15ff8656c8283c4c"} experiment-1 | {"level":"info","message":"DELETE /experiments/a645656a-41e4-4cf8-9537-00ca9798f1d4 204 211ms","method":"DELETE","requestID":"1d6ebd5dc01ae2ae15ff8656c8283c4c","responseTime":211,"status":204,"url":"/experiments/a645656a-41e4-4cf8-9537-00ca9798f1d4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 205ms","method":"POST","requestID":"8ebe6b5835df5c39ca611cd102aed229","responseTime":205,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24: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.207","http_referrer":"","http_user_agent":"node-fetch","requestID":"8ebe6b5835df5c39ca611cd102aed229"} gateway-1 | {"time_local":"28/Apr/2025:12:24: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.208","http_referrer":"","http_user_agent":"node-fetch","requestID":"a2ef5ae0b3a6817ecd616f70af61dbac"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 204ms","method":"POST","requestID":"a2ef5ae0b3a6817ecd616f70af61dbac","responseTime":204,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0OH0.AcQpFNDZJ6d32SpFx-8kp9n6p6ZxPa5lscMeWZMB83k","level":"info","message":"auth send jwt","requestID":"d30c7735f53f8a42e4be42c9c50055e4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d30c7735f53f8a42e4be42c9c50055e4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"d30c7735f53f8a42e4be42c9c50055e4"} gateway-1 | {"time_local":"28/Apr/2025:12:24:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2322","request_time":"1.163","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d6049c9d49b9d8fe2952ff84b3b037a0"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Received request.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:08Z"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Sent response.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.81061,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d30c7735f53f8a42e4be42c9c50055e4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843048,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0OH0.AcQpFNDZJ6d32SpFx-8kp9n6p6ZxPa5lscMeWZMB83k"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d30c7735f53f8a42e4be42c9c50055e4","responseTime":3,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"28/Apr/2025:12:24:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2322","request_time":"1.160","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"acd9ed0ec29ee4478f792b81cf3af3fa"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a0b7a295-3c24-4219-9948-eb24ad9b3f7c' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c237d801-a57d-4d5c-b9e2-5ca8b38947a2' 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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cb34d19-e834-47ca-a8ca-8c772653130e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e5db1ecf-c735-487d-b21c-821d86e0916c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843048.8666456} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d30c7735f53f8a42e4be42c9c50055e4","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"efcb2209-41f2-483f-970f-06c7bc8f4107","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843048.870461} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"d30c7735f53f8a42e4be42c9c50055e4","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cb34d19-e834-47ca-a8ca-8c772653130e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"7ff10472-e56d-4b26-96b0-14ed79e68763","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843048.8795176} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"22753db1-fe3f-4d88-b5b9-c59d54fbb51b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843048.8797266} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"d30c7735f53f8a42e4be42c9c50055e4","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cb34d19-e834-47ca-a8ca-8c772653130e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cb34d19-e834-47ca-a8ca-8c772653130e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:08.879502515Z"}]},"request_id":"ede9caba-5bf2-4d9e-b897-33809788c429","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843048.8831563} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d30c7735f53f8a42e4be42c9c50055e4","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"d30c7735f53f8a42e4be42c9c50055e4"} gateway-1 | {"time_local":"28/Apr/2025:12:24:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.067","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d30c7735f53f8a42e4be42c9c50055e4"} device-1 | {"level":"info","message":"POST /devices? 201 64ms","method":"POST","requestID":"d30c7735f53f8a42e4be42c9c50055e4","responseTime":64,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0OH0.AcQpFNDZJ6d32SpFx-8kp9n6p6ZxPa5lscMeWZMB83k","level":"info","message":"auth send jwt","requestID":"4dccddfca8552c36ee40b26a7580cb7d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4dccddfca8552c36ee40b26a7580cb7d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"4dccddfca8552c36ee40b26a7580cb7d"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Received request.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:08Z"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Sent response.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.681543,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"4dccddfca8552c36ee40b26a7580cb7d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843048,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0OH0.AcQpFNDZJ6d32SpFx-8kp9n6p6ZxPa5lscMeWZMB83k"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"4dccddfca8552c36ee40b26a7580cb7d","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01578254-1dcc-40f3-9037-9d41a8014a1a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"26106826-5c32-44de-ac78-d53ef86febff","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843048.926673} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4dccddfca8552c36ee40b26a7580cb7d","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a0887f30-ab14-437c-84d9-5c965d34515b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843048.9302533} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"4dccddfca8552c36ee40b26a7580cb7d","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01578254-1dcc-40f3-9037-9d41a8014a1a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"e9e48770-6de8-4f1c-8b5c-58367b2cc5db","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843048.9395242} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"60bfb674-4824-41db-bfcf-8390916474b5","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843048.9398267} authorization-1 | {"level":"info","message":"POST /relations/update 200 32ms","method":"POST","requestID":"4dccddfca8552c36ee40b26a7580cb7d","responseTime":32,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01578254-1dcc-40f3-9037-9d41a8014a1a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01578254-1dcc-40f3-9037-9d41a8014a1a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:08.939504637Z"}]},"request_id":"9ff6b8ec-d6ac-4f0c-a7a8-c35d8920577e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843048.9638445} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4dccddfca8552c36ee40b26a7580cb7d","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"4dccddfca8552c36ee40b26a7580cb7d"} gateway-1 | {"time_local":"28/Apr/2025:12:24: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.080","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4dccddfca8552c36ee40b26a7580cb7d"} device-1 | {"level":"info","message":"POST /devices? 201 52ms","method":"POST","requestID":"4dccddfca8552c36ee40b26a7580cb7d","responseTime":52,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0OX0.DnmQk9iw6UKQv9mLtJurlYzYfkdSQUj4hSjEQE2xxsw","level":"info","message":"auth send jwt","requestID":"89930b6b1c92a6d051476e96137361a7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"89930b6b1c92a6d051476e96137361a7","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"89930b6b1c92a6d051476e96137361a7"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Received request.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:09Z"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Sent response.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.775413,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:09Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/01578254-1dcc-40f3-9037-9d41a8014a1a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"89930b6b1c92a6d051476e96137361a7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/01578254-1dcc-40f3-9037-9d41a8014a1a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843049,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0OX0.DnmQk9iw6UKQv9mLtJurlYzYfkdSQUj4hSjEQE2xxsw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"89930b6b1c92a6d051476e96137361a7","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01578254-1dcc-40f3-9037-9d41a8014a1a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01578254-1dcc-40f3-9037-9d41a8014a1a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:08.939504637Z"}]},"request_id":"173229da-bb58-4c8d-8b92-4a4dd1c8e566","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843049.8816097} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"89930b6b1c92a6d051476e96137361a7","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bfbec229-bb21-4cd6-b907-d29ce887e267","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843049.8858323} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"89930b6b1c92a6d051476e96137361a7","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01578254-1dcc-40f3-9037-9d41a8014a1a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01578254-1dcc-40f3-9037-9d41a8014a1a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:08.939504637Z"}]},"request_id":"acebb47c-970d-45be-94c3-329d027aba97","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843049.9298975} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"89930b6b1c92a6d051476e96137361a7","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"89930b6b1c92a6d051476e96137361a7"} device-1 | {"level":"info","message":"PATCH /devices/01578254-1dcc-40f3-9037-9d41a8014a1a 200 59ms","method":"PATCH","requestID":"89930b6b1c92a6d051476e96137361a7","responseTime":59,"status":200,"url":"/devices/01578254-1dcc-40f3-9037-9d41a8014a1a"} gateway-1 | {"time_local":"28/Apr/2025:12:24:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/01578254-1dcc-40f3-9037-9d41a8014a1a HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.083","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"89930b6b1c92a6d051476e96137361a7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0OX0.DnmQk9iw6UKQv9mLtJurlYzYfkdSQUj4hSjEQE2xxsw","level":"info","message":"auth send jwt","requestID":"c68d9cfb0adf75265ef39a24b5c49433"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c68d9cfb0adf75265ef39a24b5c49433","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"c68d9cfb0adf75265ef39a24b5c49433"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Received request.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:09Z"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Sent response.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.892523,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:09Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/01578254-1dcc-40f3-9037-9d41a8014a1a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c68d9cfb0adf75265ef39a24b5c49433","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/01578254-1dcc-40f3-9037-9d41a8014a1a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843049,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA0OX0.DnmQk9iw6UKQv9mLtJurlYzYfkdSQUj4hSjEQE2xxsw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c68d9cfb0adf75265ef39a24b5c49433","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"c68d9cfb0adf75265ef39a24b5c49433"} device-1 | {"level":"info","message":"POST /devices/01578254-1dcc-40f3-9037-9d41a8014a1a/websocket 200 40ms","method":"POST","requestID":"c68d9cfb0adf75265ef39a24b5c49433","responseTime":40,"status":200,"url":"/devices/01578254-1dcc-40f3-9037-9d41a8014a1a/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:24:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/01578254-1dcc-40f3-9037-9d41a8014a1a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.043","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"c68d9cfb0adf75265ef39a24b5c49433"} device-1 | {"level":"info","message":"device 'http://localhost/devices/01578254-1dcc-40f3-9037-9d41a8014a1a' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b1eaca9dd0166e6f43932bbd799c12af","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b1eaca9dd0166e6f43932bbd799c12af","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:24:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/9cb34d19-e834-47ca-a8ca-8c772653130e/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":"b1eaca9dd0166e6f43932bbd799c12af"} device-1 | {"level":"info","message":"OPTIONS /devices/9cb34d19-e834-47ca-a8ca-8c772653130e/websocket 200 1ms","method":"OPTIONS","requestID":"b1eaca9dd0166e6f43932bbd799c12af","responseTime":1,"status":200,"url":"/devices/9cb34d19-e834-47ca-a8ca-8c772653130e/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1MX0.gX_UKWAZV88JQlnogLYmayz0Fa76IvSIJO2zcNwok6o","level":"info","message":"auth send jwt","requestID":"406e75a9f3ea0fa9f0d88c1736f54891"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"406e75a9f3ea0fa9f0d88c1736f54891","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"406e75a9f3ea0fa9f0d88c1736f54891"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Received request.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:11Z"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Sent response.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.148605,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:11Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9cb34d19-e834-47ca-a8ca-8c772653130e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"406e75a9f3ea0fa9f0d88c1736f54891","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/9cb34d19-e834-47ca-a8ca-8c772653130e","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843051,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1MX0.gX_UKWAZV88JQlnogLYmayz0Fa76IvSIJO2zcNwok6o"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"406e75a9f3ea0fa9f0d88c1736f54891","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"406e75a9f3ea0fa9f0d88c1736f54891"} gateway-1 | {"time_local":"28/Apr/2025:12:24:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9cb34d19-e834-47ca-a8ca-8c772653130e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.032","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"406e75a9f3ea0fa9f0d88c1736f54891"} device-1 | {"level":"info","message":"POST /devices/9cb34d19-e834-47ca-a8ca-8c772653130e/websocket 200 26ms","method":"POST","requestID":"406e75a9f3ea0fa9f0d88c1736f54891","responseTime":26,"status":200,"url":"/devices/9cb34d19-e834-47ca-a8ca-8c772653130e/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9cb34d19-e834-47ca-a8ca-8c772653130e' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1MX0.gX_UKWAZV88JQlnogLYmayz0Fa76IvSIJO2zcNwok6o","level":"info","message":"auth send jwt","requestID":"904da41838f8ae64d5e5ee590617f3a8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"904da41838f8ae64d5e5ee590617f3a8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"904da41838f8ae64d5e5ee590617f3a8"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Received request.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:11Z"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Sent response.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.674517,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9cb34d19-e834-47ca-a8ca-8c772653130e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"904da41838f8ae64d5e5ee590617f3a8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/9cb34d19-e834-47ca-a8ca-8c772653130e","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843051,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1MX0.gX_UKWAZV88JQlnogLYmayz0Fa76IvSIJO2zcNwok6o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"904da41838f8ae64d5e5ee590617f3a8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cb34d19-e834-47ca-a8ca-8c772653130e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cb34d19-e834-47ca-a8ca-8c772653130e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:08.879502515Z"}]},"request_id":"5dd98bf7-ec1e-49b9-94c9-55145b7c8cb9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843051.267741} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"904da41838f8ae64d5e5ee590617f3a8","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"904da41838f8ae64d5e5ee590617f3a8"} gateway-1 | {"time_local":"28/Apr/2025:12:24:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9cb34d19-e834-47ca-a8ca-8c772653130e? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"904da41838f8ae64d5e5ee590617f3a8"} device-1 | {"level":"info","message":"GET /devices/9cb34d19-e834-47ca-a8ca-8c772653130e? 200 10ms","method":"GET","requestID":"904da41838f8ae64d5e5ee590617f3a8","responseTime":10,"status":200,"url":"/devices/9cb34d19-e834-47ca-a8ca-8c772653130e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1MX0.gX_UKWAZV88JQlnogLYmayz0Fa76IvSIJO2zcNwok6o","level":"info","message":"auth send jwt","requestID":"115b48e30773e8ce20f349f3a1329531"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"115b48e30773e8ce20f349f3a1329531","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"115b48e30773e8ce20f349f3a1329531"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Received request.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:11Z"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Sent response.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.180578,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/01578254-1dcc-40f3-9037-9d41a8014a1a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"115b48e30773e8ce20f349f3a1329531","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/01578254-1dcc-40f3-9037-9d41a8014a1a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843051,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1MX0.gX_UKWAZV88JQlnogLYmayz0Fa76IvSIJO2zcNwok6o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"115b48e30773e8ce20f349f3a1329531","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01578254-1dcc-40f3-9037-9d41a8014a1a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01578254-1dcc-40f3-9037-9d41a8014a1a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:08.939504637Z"}]},"request_id":"34421732-2ace-46e4-9692-b0e5a0766d2f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843051.2845469} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"115b48e30773e8ce20f349f3a1329531","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"115b48e30773e8ce20f349f3a1329531"} gateway-1 | {"time_local":"28/Apr/2025:12:24:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/01578254-1dcc-40f3-9037-9d41a8014a1a? 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":"115b48e30773e8ce20f349f3a1329531"} device-1 | {"level":"info","message":"GET /devices/01578254-1dcc-40f3-9037-9d41a8014a1a? 200 10ms","method":"GET","requestID":"115b48e30773e8ce20f349f3a1329531","responseTime":10,"status":200,"url":"/devices/01578254-1dcc-40f3-9037-9d41a8014a1a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1MX0.gX_UKWAZV88JQlnogLYmayz0Fa76IvSIJO2zcNwok6o","level":"info","message":"auth send jwt","requestID":"a3be5fb6cf5fd441bf4af88d24a602f1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a3be5fb6cf5fd441bf4af88d24a602f1","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"a3be5fb6cf5fd441bf4af88d24a602f1"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Received request.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:11Z"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Sent response.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.729535,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a3be5fb6cf5fd441bf4af88d24a602f1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843051,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1MX0.gX_UKWAZV88JQlnogLYmayz0Fa76IvSIJO2zcNwok6o"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"a3be5fb6cf5fd441bf4af88d24a602f1","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07f043b6-4b6d-4428-9ad3-252ed480d1a0"},"level":"info","message":"Attempting to run experiment","requestID":"a3be5fb6cf5fd441bf4af88d24a602f1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07f043b6-4b6d-4428-9ad3-252ed480d1a0"},"level":"info","message":"Attempting to book experiment","requestID":"a3be5fb6cf5fd441bf4af88d24a602f1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07f043b6-4b6d-4428-9ad3-252ed480d1a0"},"level":"info","message":"Successfully booked experiment","requestID":"a3be5fb6cf5fd441bf4af88d24a602f1"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b0947b80-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b094a290-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Received request.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:11Z"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Sent response.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.606383,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:11Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9cb34d19-e834-47ca-a8ca-8c772653130e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b0947b80-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/9cb34d19-e834-47ca-a8ca-8c772653130e","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843051,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1MX0.gX_UKWAZV88JQlnogLYmayz0Fa76IvSIJO2zcNwok6o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b0947b80-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.672214,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/01578254-1dcc-40f3-9037-9d41a8014a1a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b094a290-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/01578254-1dcc-40f3-9037-9d41a8014a1a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843051,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1MX0.gX_UKWAZV88JQlnogLYmayz0Fa76IvSIJO2zcNwok6o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b094a290-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cb34d19-e834-47ca-a8ca-8c772653130e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cb34d19-e834-47ca-a8ca-8c772653130e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:08.879502515Z"}]},"request_id":"c58127a4-0f1b-45f8-8bfa-846f32399310","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843051.3272474} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b0947b80-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01578254-1dcc-40f3-9037-9d41a8014a1a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01578254-1dcc-40f3-9037-9d41a8014a1a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:08.939504637Z"}]},"request_id":"c758076f-cce1-4508-9ca9-31183a817ac8","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843051.327837} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b094a290-242b-11f0-a4ab-3996a0934271","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b0947b80-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/9cb34d19-e834-47ca-a8ca-8c772653130e? 200 11ms","method":"GET","requestID":"b0947b80-242b-11f0-a4ab-3996a0934271","responseTime":11,"status":200,"url":"/devices/9cb34d19-e834-47ca-a8ca-8c772653130e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b094a290-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/01578254-1dcc-40f3-9037-9d41a8014a1a? 200 11ms","method":"GET","requestID":"b094a290-242b-11f0-a4ab-3996a0934271","responseTime":11,"status":200,"url":"/devices/01578254-1dcc-40f3-9037-9d41a8014a1a?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07f043b6-4b6d-4428-9ad3-252ed480d1a0"},"level":"info","message":"Setting up experiment","requestID":"a3be5fb6cf5fd441bf4af88d24a602f1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07f043b6-4b6d-4428-9ad3-252ed480d1a0"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"a3be5fb6cf5fd441bf4af88d24a602f1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07f043b6-4b6d-4428-9ad3-252ed480d1a0"},"level":"info","message":"Successfully locked booking for experiment","requestID":"a3be5fb6cf5fd441bf4af88d24a602f1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07f043b6-4b6d-4428-9ad3-252ed480d1a0"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"a3be5fb6cf5fd441bf4af88d24a602f1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07f043b6-4b6d-4428-9ad3-252ed480d1a0"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"a3be5fb6cf5fd441bf4af88d24a602f1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07f043b6-4b6d-4428-9ad3-252ed480d1a0"},"level":"info","message":"Attempting to update booking for experiment","requestID":"a3be5fb6cf5fd441bf4af88d24a602f1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07f043b6-4b6d-4428-9ad3-252ed480d1a0"},"level":"info","message":"Successfully updated booking for experiment","requestID":"a3be5fb6cf5fd441bf4af88d24a602f1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07f043b6-4b6d-4428-9ad3-252ed480d1a0"},"level":"info","message":"Successfully set up experiment","requestID":"a3be5fb6cf5fd441bf4af88d24a602f1"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b0a32180-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b0a34890-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b0a396b0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:11Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07f043b6-4b6d-4428-9ad3-252ed480d1a0"},"level":"info","message":"Successfully running experiment","requestID":"a3be5fb6cf5fd441bf4af88d24a602f1"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.673692,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:11Z"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Received request.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9cb34d19-e834-47ca-a8ca-8c772653130e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b0a32180-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/9cb34d19-e834-47ca-a8ca-8c772653130e","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843051,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1MX0.gX_UKWAZV88JQlnogLYmayz0Fa76IvSIJO2zcNwok6o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b0a32180-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Sent response.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.870702,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:11Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/01578254-1dcc-40f3-9037-9d41a8014a1a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b0a34890-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/01578254-1dcc-40f3-9037-9d41a8014a1a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843051,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1MX0.gX_UKWAZV88JQlnogLYmayz0Fa76IvSIJO2zcNwok6o"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b0a34890-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cb34d19-e834-47ca-a8ca-8c772653130e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9c721ef1-f6d0-4e50-b4fe-697b1be0a15c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843051.4242532} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.774954,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9cb34d19-e834-47ca-a8ca-8c772653130e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b0a396b0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9cb34d19-e834-47ca-a8ca-8c772653130e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b0a396b0-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01578254-1dcc-40f3-9037-9d41a8014a1a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01578254-1dcc-40f3-9037-9d41a8014a1a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:08.939504637Z"}]},"request_id":"46855c24-25d4-4f49-9ea1-8c7655f3f928","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843051.4266067} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b0a396b0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"b0a34890-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cb34d19-e834-47ca-a8ca-8c772653130e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cb34d19-e834-47ca-a8ca-8c772653130e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:08.879502515Z"}]},"request_id":"89e81437-ae33-4889-8def-dca754dd2044","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843051.429735} device-1 | {"level":"info","message":"POST /devices/9cb34d19-e834-47ca-a8ca-8c772653130e/signaling 200 11ms","method":"POST","requestID":"b0a396b0-242b-11f0-a4ab-3996a0934271","responseTime":11,"status":200,"url":"/devices/9cb34d19-e834-47ca-a8ca-8c772653130e/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b0a32180-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b0a96310-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F07f043b6-4b6d-4428-9ad3-252ed480d1a0#owner@http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F07f043b6-4b6d-4428-9ad3-252ed480d1a0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"b56dc670-2b8c-4e34-88cf-05d585f71c4e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843051.458165} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"76b09fd1-106f-44d4-9942-f4a036bafcd6","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843051.458496} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b0a34890-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/01578254-1dcc-40f3-9037-9d41a8014a1a? 200 43ms","method":"GET","requestID":"b0a34890-242b-11f0-a4ab-3996a0934271","responseTime":43,"status":200,"url":"/devices/01578254-1dcc-40f3-9037-9d41a8014a1a?"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:11Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b0a32180-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/9cb34d19-e834-47ca-a8ca-8c772653130e? 200 45ms","method":"GET","requestID":"b0a32180-242b-11f0-a4ab-3996a0934271","responseTime":45,"status":200,"url":"/devices/9cb34d19-e834-47ca-a8ca-8c772653130e?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"a3be5fb6cf5fd441bf4af88d24a602f1","responseTime":38,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01578254-1dcc-40f3-9037-9d41a8014a1a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e3f176eb-5dbe-489b-81ae-6caa8e4e75f9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843051.461102} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.777205,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01578254-1dcc-40f3-9037-9d41a8014a1a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b0a96310-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01578254-1dcc-40f3-9037-9d41a8014a1a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b0a96310-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b0aa4d70-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:11Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b0a96310-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/01578254-1dcc-40f3-9037-9d41a8014a1a/signaling 200 10ms","method":"POST","requestID":"b0a96310-242b-11f0-a4ab-3996a0934271","responseTime":10,"status":200,"url":"/devices/01578254-1dcc-40f3-9037-9d41a8014a1a/signaling"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cb34d19-e834-47ca-a8ca-8c772653130e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"67c0d285-b54e-491b-9369-43efed9c82ea","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843051.4682853} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.342735,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9cb34d19-e834-47ca-a8ca-8c772653130e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b0aa4d70-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9cb34d19-e834-47ca-a8ca-8c772653130e","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/07f043b6-4b6d-4428-9ad3-252ed480d1a0","user":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"a3be5fb6cf5fd441bf4af88d24a602f1"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b0aa4d70-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"28/Apr/2025:12:24:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.182","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a3be5fb6cf5fd441bf4af88d24a602f1"} experiment-1 | {"level":"info","message":"POST /experiments? 201 179ms","method":"POST","requestID":"a3be5fb6cf5fd441bf4af88d24a602f1","responseTime":179,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b0aa4d70-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/9cb34d19-e834-47ca-a8ca-8c772653130e/signaling 200 11ms","method":"POST","requestID":"b0aa4d70-242b-11f0-a4ab-3996a0934271","responseTime":11,"status":200,"url":"/devices/9cb34d19-e834-47ca-a8ca-8c772653130e/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1MX0.gX_UKWAZV88JQlnogLYmayz0Fa76IvSIJO2zcNwok6o","level":"info","message":"auth send jwt","requestID":"8b34cabafad7808298bab9d6a9154453"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8b34cabafad7808298bab9d6a9154453","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b0ac4940-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8b34cabafad7808298bab9d6a9154453"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:11Z"} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Received request.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:11Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01578254-1dcc-40f3-9037-9d41a8014a1a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dfd4d2e4-854f-4c42-80af-38313b3aa931","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843051.5051553} authorization-1 | {"client_addr":"127.0.0.1:36210","level":"info","msg":"Sent response.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.044076,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9cb34d19-e834-47ca-a8ca-8c772653130e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"8b34cabafad7808298bab9d6a9154453","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/9cb34d19-e834-47ca-a8ca-8c772653130e","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843051,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1MX0.gX_UKWAZV88JQlnogLYmayz0Fa76IvSIJO2zcNwok6o"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"8b34cabafad7808298bab9d6a9154453","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.22334,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01578254-1dcc-40f3-9037-9d41a8014a1a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b0ac4940-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01578254-1dcc-40f3-9037-9d41a8014a1a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"b0ac4940-242b-11f0-a4ab-3996a0934271","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cb34d19-e834-47ca-a8ca-8c772653130e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cb34d19-e834-47ca-a8ca-8c772653130e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:08.879502515Z"}]},"request_id":"1418cbe8-6ae9-42d8-8844-5c4b822eb2c6","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843051.510986} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8b34cabafad7808298bab9d6a9154453","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b0ac4940-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/01578254-1dcc-40f3-9037-9d41a8014a1a/signaling 200 38ms","method":"POST","requestID":"b0ac4940-242b-11f0-a4ab-3996a0934271","responseTime":38,"status":200,"url":"/devices/01578254-1dcc-40f3-9037-9d41a8014a1a/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07f043b6-4b6d-4428-9ad3-252ed480d1a0"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"a3be5fb6cf5fd441bf4af88d24a602f1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07f043b6-4b6d-4428-9ad3-252ed480d1a0"},"level":"info","message":"Building connection plan","requestID":"a3be5fb6cf5fd441bf4af88d24a602f1"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"caf36677-1011-4f46-b7bc-78bdd23cc4b4"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"357311e8-2e9d-4bb3-80a7-1ef83a9d96c3"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"714f1dae-2164-468a-8ca5-09db7c7b311c"}]},"level":"info","message":"Built pairwise service configurations","requestID":"a3be5fb6cf5fd441bf4af88d24a602f1"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8b34cabafad7808298bab9d6a9154453"} 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/01578254-1dcc-40f3-9037-9d41a8014a1a"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/9cb34d19-e834-47ca-a8ca-8c772653130e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"a3be5fb6cf5fd441bf4af88d24a602f1"} gateway-1 | {"time_local":"28/Apr/2025:12:24:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9cb34d19-e834-47ca-a8ca-8c772653130e? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8b34cabafad7808298bab9d6a9154453"} device-1 | {"level":"info","message":"GET /devices/9cb34d19-e834-47ca-a8ca-8c772653130e? 200 39ms","method":"GET","requestID":"8b34cabafad7808298bab9d6a9154453","responseTime":39,"status":200,"url":"/devices/9cb34d19-e834-47ca-a8ca-8c772653130e?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"b0b28ad0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:11Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1MX0.gX_UKWAZV88JQlnogLYmayz0Fa76IvSIJO2zcNwok6o","level":"info","message":"auth send jwt","requestID":"1baa1b59e8d8a8c824239e4f5a313429"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1baa1b59e8d8a8c824239e4f5a313429","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.756162,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:11Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1baa1b59e8d8a8c824239e4f5a313429"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b0b28ad0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843051,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1MX0.gX_UKWAZV88JQlnogLYmayz0Fa76IvSIJO2zcNwok6o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b0b28ad0-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:11Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.644335,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/01578254-1dcc-40f3-9037-9d41a8014a1a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"1baa1b59e8d8a8c824239e4f5a313429","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/01578254-1dcc-40f3-9037-9d41a8014a1a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843051,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1MX0.gX_UKWAZV88JQlnogLYmayz0Fa76IvSIJO2zcNwok6o"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"1baa1b59e8d8a8c824239e4f5a313429","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01578254-1dcc-40f3-9037-9d41a8014a1a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01578254-1dcc-40f3-9037-9d41a8014a1a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:08.939504637Z"}]},"request_id":"29c02c43-a813-4913-9eda-094c7595a4fe","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843051.526284} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1baa1b59e8d8a8c824239e4f5a313429","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1baa1b59e8d8a8c824239e4f5a313429"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","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%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"ee18c747-d674-4fd0-b031-101ef413348d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843051.553304} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d156380e-2566-4954-bcc0-e20b6fb1e5d9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843051.5535727} gateway-1 | {"time_local":"28/Apr/2025:12:24:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/01578254-1dcc-40f3-9037-9d41a8014a1a? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1baa1b59e8d8a8c824239e4f5a313429"} device-1 | {"level":"info","message":"GET /devices/01578254-1dcc-40f3-9037-9d41a8014a1a? 200 34ms","method":"GET","requestID":"1baa1b59e8d8a8c824239e4f5a313429","responseTime":34,"status":200,"url":"/devices/01578254-1dcc-40f3-9037-9d41a8014a1a?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"b0b28ad0-242b-11f0-a4ab-3996a0934271","responseTime":30,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"b0b28ad0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"b0b28ad0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/62ec03f7-815d-4c7a-97a3-e18ddf8b0c38'","requestID":"b0b28ad0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/62ec03f7-815d-4c7a-97a3-e18ddf8b0c38'","requestID":"b0b28ad0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"b0b28ad0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 51ms","method":"POST","requestID":"b0b28ad0-242b-11f0-a4ab-3996a0934271","responseTime":51,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"b0b28ad0-242b-11f0-a4ab-3996a0934271"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/62ec03f7-815d-4c7a-97a3-e18ddf8b0c38","device":"9cb34d19-e834-47ca-a8ca-8c772653130e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07f043b6-4b6d-4428-9ad3-252ed480d1a0"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"a3be5fb6cf5fd441bf4af88d24a602f1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b0c21b30-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:11Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cb34d19-e834-47ca-a8ca-8c772653130e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5e3bfe43-d088-4ac4-a8d8-08ff55ac2a1f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843051.6233306} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.278826,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9cb34d19-e834-47ca-a8ca-8c772653130e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b0c21b30-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9cb34d19-e834-47ca-a8ca-8c772653130e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"b0c21b30-242b-11f0-a4ab-3996a0934271","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b0c21b30-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/9cb34d19-e834-47ca-a8ca-8c772653130e/signaling 200 32ms","method":"POST","requestID":"b0c21b30-242b-11f0-a4ab-3996a0934271","responseTime":32,"status":200,"url":"/devices/9cb34d19-e834-47ca-a8ca-8c772653130e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b0c77260-242b-11f0-a4ab-3996a0934271"} device-1 | {"device":"9cb34d19-e834-47ca-a8ca-8c772653130e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"9cb34d19-e834-47ca-a8ca-8c772653130e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:11Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01578254-1dcc-40f3-9037-9d41a8014a1a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"daeafb63-9db2-41e4-ba02-04de8e97282c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843051.6585455} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.324846,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:11Z"} device-1 | {"content":{"sdp":"v=0\r\no=- 8021622344058748004 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:X6rT\r\na=ice-pwd:avaQTj2va5zTur7Mb+kKO28V\r\na=ice-options:trickle\r\na=fingerprint:sha-256 84:43:7C:79:9D:95:10:0F:D3:8B:AF:94:09:5D:FD:FB:1B:36:2B:A0:05:CA:6D:10:F8:51:0B:03:74:84:88:E2\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"9cb34d19-e834-47ca-a8ca-8c772653130e","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/01578254-1dcc-40f3-9037-9d41a8014a1a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b0c77260-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01578254-1dcc-40f3-9037-9d41a8014a1a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b0c77260-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b0c77260-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/01578254-1dcc-40f3-9037-9d41a8014a1a/signaling 200 10ms","method":"POST","requestID":"b0c77260-242b-11f0-a4ab-3996a0934271","responseTime":10,"status":200,"url":"/devices/01578254-1dcc-40f3-9037-9d41a8014a1a/signaling"} device-1 | {"device":"9cb34d19-e834-47ca-a8ca-8c772653130e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"01578254-1dcc-40f3-9037-9d41a8014a1a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"62ec03f7-815d-4c7a-97a3-e18ddf8b0c38","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"01578254-1dcc-40f3-9037-9d41a8014a1a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"01578254-1dcc-40f3-9037-9d41a8014a1a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"01578254-1dcc-40f3-9037-9d41a8014a1a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"01578254-1dcc-40f3-9037-9d41a8014a1a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/62ec03f7-815d-4c7a-97a3-e18ddf8b0c38' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"62ec03f7-815d-4c7a-97a3-e18ddf8b0c38","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"db82eae059c9d803239484b09bf35476","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"db82eae059c9d803239484b09bf35476","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/01578254-1dcc-40f3-9037-9d41a8014a1a"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/9cb34d19-e834-47ca-a8ca-8c772653130e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/62ec03f7-815d-4c7a-97a3-e18ddf8b0c38"}}},"level":"info","message":"received a callback","requestID":"db82eae059c9d803239484b09bf35476"} device-1 | {"content":{"candidate":"candidate:949537459 1 udp 2113937151 215cdd18-c459-401c-a7a9-31258be86678.local 42167 typ host generation 0 ufrag X6rT network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"9cb34d19-e834-47ca-a8ca-8c772653130e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"9cb34d19-e834-47ca-a8ca-8c772653130e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"db82eae059c9d803239484b09bf35476","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24: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.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"db82eae059c9d803239484b09bf35476"} device-1 | {"device":"01578254-1dcc-40f3-9037-9d41a8014a1a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9cb34d19-e834-47ca-a8ca-8c772653130e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"01578254-1dcc-40f3-9037-9d41a8014a1a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"62ec03f7-815d-4c7a-97a3-e18ddf8b0c38","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"62ec03f7-815d-4c7a-97a3-e18ddf8b0c38","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/62ec03f7-815d-4c7a-97a3-e18ddf8b0c38' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"62ec03f7-815d-4c7a-97a3-e18ddf8b0c38","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3ba6df6b5bfcb9c19aedf2d9e2c9c6eb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/01578254-1dcc-40f3-9037-9d41a8014a1a"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/9cb34d19-e834-47ca-a8ca-8c772653130e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/62ec03f7-815d-4c7a-97a3-e18ddf8b0c38"}}},"level":"info","message":"received a callback","requestID":"3ba6df6b5bfcb9c19aedf2d9e2c9c6eb"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3ba6df6b5bfcb9c19aedf2d9e2c9c6eb","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"b1fc9700-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:13Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F62ec03f7-815d-4c7a-97a3-e18ddf8b0c38","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b64520cc-6ec3-4139-a42a-5896392d942e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843053.6846058} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.897578,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/62ec03f7-815d-4c7a-97a3-e18ddf8b0c38","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b1fc9700-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/62ec03f7-815d-4c7a-97a3-e18ddf8b0c38","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":"b1fc9700-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"b1fc9700-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /peerconnections/62ec03f7-815d-4c7a-97a3-e18ddf8b0c38 200 13ms","method":"GET","requestID":"b1fc9700-242b-11f0-a4ab-3996a0934271","responseTime":13,"status":200,"url":"/peerconnections/62ec03f7-815d-4c7a-97a3-e18ddf8b0c38"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 46ms","method":"POST","requestID":"3ba6df6b5bfcb9c19aedf2d9e2c9c6eb","responseTime":46,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch","requestID":"3ba6df6b5bfcb9c19aedf2d9e2c9c6eb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b202d890-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:13Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01578254-1dcc-40f3-9037-9d41a8014a1a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c5bdd6ba-ce0a-4c02-b6cd-384e506f313e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843053.7267387} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.384146,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01578254-1dcc-40f3-9037-9d41a8014a1a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b202d890-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01578254-1dcc-40f3-9037-9d41a8014a1a","object_type":"device","rebac_allow":false,"scope_allow":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":"b202d890-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b202d890-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/01578254-1dcc-40f3-9037-9d41a8014a1a/signaling 200 13ms","method":"POST","requestID":"b202d890-242b-11f0-a4ab-3996a0934271","responseTime":13,"status":200,"url":"/devices/01578254-1dcc-40f3-9037-9d41a8014a1a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b2052280-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:13Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cb34d19-e834-47ca-a8ca-8c772653130e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f52bc728-3841-40e6-96e7-4542f7b6fbb4","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843053.7648263} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.548771,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9cb34d19-e834-47ca-a8ca-8c772653130e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b2052280-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9cb34d19-e834-47ca-a8ca-8c772653130e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b2052280-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b2052280-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/9cb34d19-e834-47ca-a8ca-8c772653130e/signaling 200 34ms","method":"POST","requestID":"b2052280-242b-11f0-a4ab-3996a0934271","responseTime":34,"status":200,"url":"/devices/9cb34d19-e834-47ca-a8ca-8c772653130e/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1NH0.QdZG2cIy_QOk6GlaESNAyut0QQdJHFLC1qWdsx2mymc","level":"info","message":"auth send jwt","requestID":"69445651beebca9bbab906787fad1bb3"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"69445651beebca9bbab906787fad1bb3","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/07f043b6-4b6d-4428-9ad3-252ed480d1a0","requestID":"69445651beebca9bbab906787fad1bb3"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:14Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.001607,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/07f043b6-4b6d-4428-9ad3-252ed480d1a0","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"69445651beebca9bbab906787fad1bb3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/07f043b6-4b6d-4428-9ad3-252ed480d1a0","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843054,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1NH0.QdZG2cIy_QOk6GlaESNAyut0QQdJHFLC1qWdsx2mymc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"69445651beebca9bbab906787fad1bb3","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/07f043b6-4b6d-4428-9ad3-252ed480d1a0","requestID":"69445651beebca9bbab906787fad1bb3"} gateway-1 | {"time_local":"28/Apr/2025:12:24:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/07f043b6-4b6d-4428-9ad3-252ed480d1a0 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":"69445651beebca9bbab906787fad1bb3"} experiment-1 | {"level":"info","message":"GET /experiments/07f043b6-4b6d-4428-9ad3-252ed480d1a0 200 14ms","method":"GET","requestID":"69445651beebca9bbab906787fad1bb3","responseTime":14,"status":200,"url":"/experiments/07f043b6-4b6d-4428-9ad3-252ed480d1a0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1NH0.QdZG2cIy_QOk6GlaESNAyut0QQdJHFLC1qWdsx2mymc","level":"info","message":"auth send jwt","requestID":"0207273741fdeabc2f65e811ec014fee"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0207273741fdeabc2f65e811ec014fee","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/07f043b6-4b6d-4428-9ad3-252ed480d1a0","requestID":"0207273741fdeabc2f65e811ec014fee"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:14Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.595444,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:14Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/07f043b6-4b6d-4428-9ad3-252ed480d1a0","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"0207273741fdeabc2f65e811ec014fee","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/07f043b6-4b6d-4428-9ad3-252ed480d1a0","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843054,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1NH0.QdZG2cIy_QOk6GlaESNAyut0QQdJHFLC1qWdsx2mymc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0207273741fdeabc2f65e811ec014fee","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07f043b6-4b6d-4428-9ad3-252ed480d1a0"},"level":"info","message":"Attempting to finish experiment","requestID":"0207273741fdeabc2f65e811ec014fee"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"b23c3810-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:14Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.736292,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:14Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/62ec03f7-815d-4c7a-97a3-e18ddf8b0c38","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b23c3810-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:http://localhost/peerconnections/62ec03f7-815d-4c7a-97a3-e18ddf8b0c38","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843054,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1NH0.QdZG2cIy_QOk6GlaESNAyut0QQdJHFLC1qWdsx2mymc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b23c3810-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/62ec03f7-815d-4c7a-97a3-e18ddf8b0c38","device":"9cb34d19-e834-47ca-a8ca-8c772653130e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"01578254-1dcc-40f3-9037-9d41a8014a1a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"01578254-1dcc-40f3-9037-9d41a8014a1a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"01578254-1dcc-40f3-9037-9d41a8014a1a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/62ec03f7-815d-4c7a-97a3-e18ddf8b0c38' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/62ec03f7-815d-4c7a-97a3-e18ddf8b0c38' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"62ec03f7-815d-4c7a-97a3-e18ddf8b0c38","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F62ec03f7-815d-4c7a-97a3-e18ddf8b0c38': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F62ec03f7-815d-4c7a-97a3-e18ddf8b0c38","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"ea2f6b04-13b9-4c30-bbb6-d78a4c9dd97d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843054.1102607} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b15cde3d-1ead-49c8-8628-535eff879db2","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843054.110755} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"236351580f7d8a53a6f14f433cba6e7c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"b23c3810-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"236351580f7d8a53a6f14f433cba6e7c","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/01578254-1dcc-40f3-9037-9d41a8014a1a"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/9cb34d19-e834-47ca-a8ca-8c772653130e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/62ec03f7-815d-4c7a-97a3-e18ddf8b0c38"}}},"level":"info","message":"received a callback","requestID":"236351580f7d8a53a6f14f433cba6e7c"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"dcfc06acc5f976b17a8ca2987293ee8d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"dcfc06acc5f976b17a8ca2987293ee8d","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/01578254-1dcc-40f3-9037-9d41a8014a1a"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/9cb34d19-e834-47ca-a8ca-8c772653130e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/62ec03f7-815d-4c7a-97a3-e18ddf8b0c38"}}},"level":"info","message":"received a callback","requestID":"dcfc06acc5f976b17a8ca2987293ee8d"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"b23c3810-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"DELETE /peerconnections/62ec03f7-815d-4c7a-97a3-e18ddf8b0c38 204 41ms","method":"DELETE","requestID":"b23c3810-242b-11f0-a4ab-3996a0934271","responseTime":41,"status":204,"url":"/peerconnections/62ec03f7-815d-4c7a-97a3-e18ddf8b0c38"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/9cb34d19-e834-47ca-a8ca-8c772653130e'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/07f043b6-4b6d-4428-9ad3-252ed480d1a0"},"level":"info","message":"Successfully finished experiment","requestID":"0207273741fdeabc2f65e811ec014fee"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b245fc10-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:14Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01578254-1dcc-40f3-9037-9d41a8014a1a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"86d1de7f-37b6-4adb-8b53-27d57f416b27","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843054.1669514} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.792678,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01578254-1dcc-40f3-9037-9d41a8014a1a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b245fc10-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01578254-1dcc-40f3-9037-9d41a8014a1a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b245fc10-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F07f043b6-4b6d-4428-9ad3-252ed480d1a0': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F07f043b6-4b6d-4428-9ad3-252ed480d1a0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"546dbe41-0a59-4642-8089-bf7dd73a7d51","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843054.1724007} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b4915a0d-b5fc-49de-9dde-58cc34390e00","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843054.1726744} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"0207273741fdeabc2f65e811ec014fee","responseTime":14,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b245fc10-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/01578254-1dcc-40f3-9037-9d41a8014a1a/signaling 200 13ms","method":"POST","requestID":"b245fc10-242b-11f0-a4ab-3996a0934271","responseTime":13,"status":200,"url":"/devices/01578254-1dcc-40f3-9037-9d41a8014a1a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b2484600-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:14Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9cb34d19-e834-47ca-a8ca-8c772653130e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f323f9ce-a998-43cc-aa85-264eaca4df83","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843054.1805816} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.2584,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9cb34d19-e834-47ca-a8ca-8c772653130e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b2484600-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9cb34d19-e834-47ca-a8ca-8c772653130e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b2484600-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b2484600-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/9cb34d19-e834-47ca-a8ca-8c772653130e/signaling 200 8ms","method":"POST","requestID":"b2484600-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/9cb34d19-e834-47ca-a8ca-8c772653130e/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/07f043b6-4b6d-4428-9ad3-252ed480d1a0","requestID":"0207273741fdeabc2f65e811ec014fee"} gateway-1 | {"time_local":"28/Apr/2025:12:24:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/07f043b6-4b6d-4428-9ad3-252ed480d1a0 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":"0207273741fdeabc2f65e811ec014fee"} experiment-1 | {"level":"info","message":"DELETE /experiments/07f043b6-4b6d-4428-9ad3-252ed480d1a0 204 167ms","method":"DELETE","requestID":"0207273741fdeabc2f65e811ec014fee","responseTime":167,"status":204,"url":"/experiments/07f043b6-4b6d-4428-9ad3-252ed480d1a0"} gateway-1 | {"time_local":"28/Apr/2025:12:24:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2322","request_time":"4.273","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"5a9c31e480a23070bbc24dc2e3097545"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 139ms","method":"POST","requestID":"236351580f7d8a53a6f14f433cba6e7c","responseTime":139,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24: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.142","http_referrer":"","http_user_agent":"node-fetch","requestID":"236351580f7d8a53a6f14f433cba6e7c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 136ms","method":"POST","requestID":"dcfc06acc5f976b17a8ca2987293ee8d","responseTime":136,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24: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.139","http_referrer":"","http_user_agent":"node-fetch","requestID":"dcfc06acc5f976b17a8ca2987293ee8d"} gateway-1 | {"time_local":"28/Apr/2025:12:24:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2527","request_time":"3.012","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e4e82a68707e7259cca408e0cf024578"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1NH0.QdZG2cIy_QOk6GlaESNAyut0QQdJHFLC1qWdsx2mymc","level":"info","message":"auth send jwt","requestID":"33fce6d4b275f515a8794e314953921e"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"33fce6d4b275f515a8794e314953921e","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"33fce6d4b275f515a8794e314953921e"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/01578254-1dcc-40f3-9037-9d41a8014a1a' closed"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:14Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":25.08828,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"33fce6d4b275f515a8794e314953921e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843054,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1NH0.QdZG2cIy_QOk6GlaESNAyut0QQdJHFLC1qWdsx2mymc"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"33fce6d4b275f515a8794e314953921e","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9cb34d19-e834-47ca-a8ca-8c772653130e' 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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b277244-6c55-4a52-ba20-299c25e0156e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"71fd042d-ad9d-436e-b09a-82337cf25ebd","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843054.3086433} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"33fce6d4b275f515a8794e314953921e","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7b8f2367-55a0-47bd-a91d-e1ff07c4916a","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843054.337147} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"33fce6d4b275f515a8794e314953921e","responseTime":28,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b277244-6c55-4a52-ba20-299c25e0156e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"32635ae3-ef16-453b-bd3a-63ca2ff5ba13","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843054.3479176} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ce9a9786-3bf3-47a7-b430-f6bf24d7e595","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843054.3480682} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"33fce6d4b275f515a8794e314953921e","responseTime":37,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b277244-6c55-4a52-ba20-299c25e0156e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b277244-6c55-4a52-ba20-299c25e0156e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:14.347900597Z"}]},"request_id":"92be37c1-1f3d-4c8b-94a4-a1dbb02663bb","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843054.3521154} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"33fce6d4b275f515a8794e314953921e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"33fce6d4b275f515a8794e314953921e"} device-1 | {"level":"info","message":"POST /devices? 201 93ms","method":"POST","requestID":"33fce6d4b275f515a8794e314953921e","responseTime":93,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:24:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.103","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"33fce6d4b275f515a8794e314953921e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1NH0.QdZG2cIy_QOk6GlaESNAyut0QQdJHFLC1qWdsx2mymc","level":"info","message":"auth send jwt","requestID":"5cbfacec6a47d27a1d2d09ae403a78cd"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5cbfacec6a47d27a1d2d09ae403a78cd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"5cbfacec6a47d27a1d2d09ae403a78cd"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:14Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.735373,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"5cbfacec6a47d27a1d2d09ae403a78cd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843054,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1NH0.QdZG2cIy_QOk6GlaESNAyut0QQdJHFLC1qWdsx2mymc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5cbfacec6a47d27a1d2d09ae403a78cd","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75527e3c-bd78-4908-b8c9-c56ae26de8db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"20f92335-3c2a-4b51-9aa3-e4e3e6458dc1","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843054.4002562} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5cbfacec6a47d27a1d2d09ae403a78cd","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1be2145d-a099-4269-b6ea-69f28486e948","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843054.4050949} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"5cbfacec6a47d27a1d2d09ae403a78cd","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75527e3c-bd78-4908-b8c9-c56ae26de8db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"9941add2-c5d0-422d-ad6d-a56cf97081e7","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843054.4400735} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7203e575-a099-4780-a3cb-625956960a58","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843054.4402208} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"5cbfacec6a47d27a1d2d09ae403a78cd","responseTime":37,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75527e3c-bd78-4908-b8c9-c56ae26de8db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75527e3c-bd78-4908-b8c9-c56ae26de8db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:14.440053307Z"}]},"request_id":"d59e83b2-bff4-4437-bd87-d17a37a663b9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843054.4440944} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5cbfacec6a47d27a1d2d09ae403a78cd","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"5cbfacec6a47d27a1d2d09ae403a78cd"} device-1 | {"level":"info","message":"POST /devices? 201 85ms","method":"POST","requestID":"5cbfacec6a47d27a1d2d09ae403a78cd","responseTime":85,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:24: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.090","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5cbfacec6a47d27a1d2d09ae403a78cd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1NX0.0T7e486OeW-0OMhGc-HarXRSo2imP0ElBDhe9oTgyN4","level":"info","message":"auth send jwt","requestID":"9bb3c8e161f799303d0b37fc35e12d78"} authentication-1 | {"level":"info","message":"GET /auth 200 23ms","method":"GET","requestID":"9bb3c8e161f799303d0b37fc35e12d78","responseTime":23,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"9bb3c8e161f799303d0b37fc35e12d78"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:15Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.680386,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:15Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b277244-6c55-4a52-ba20-299c25e0156e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9bb3c8e161f799303d0b37fc35e12d78","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/3b277244-6c55-4a52-ba20-299c25e0156e","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843055,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1NX0.0T7e486OeW-0OMhGc-HarXRSo2imP0ElBDhe9oTgyN4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9bb3c8e161f799303d0b37fc35e12d78","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b277244-6c55-4a52-ba20-299c25e0156e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b277244-6c55-4a52-ba20-299c25e0156e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:14.347900597Z"}]},"request_id":"e289d4d3-082f-45b2-b7fc-cef021ec8dbe","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843055.3075333} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9bb3c8e161f799303d0b37fc35e12d78","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a963eb53-a813-4571-9f34-fdc065e2b988","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843055.3119588} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"9bb3c8e161f799303d0b37fc35e12d78","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b277244-6c55-4a52-ba20-299c25e0156e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b277244-6c55-4a52-ba20-299c25e0156e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:14.347900597Z"}]},"request_id":"adbf34aa-78c1-44c4-af42-bd3cab5ec3b4","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843055.3493516} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9bb3c8e161f799303d0b37fc35e12d78","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"9bb3c8e161f799303d0b37fc35e12d78"} gateway-1 | {"time_local":"28/Apr/2025:12:24:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/3b277244-6c55-4a52-ba20-299c25e0156e HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.076","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"9bb3c8e161f799303d0b37fc35e12d78"} device-1 | {"level":"info","message":"PATCH /devices/3b277244-6c55-4a52-ba20-299c25e0156e 200 52ms","method":"PATCH","requestID":"9bb3c8e161f799303d0b37fc35e12d78","responseTime":52,"status":200,"url":"/devices/3b277244-6c55-4a52-ba20-299c25e0156e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1NX0.0T7e486OeW-0OMhGc-HarXRSo2imP0ElBDhe9oTgyN4","level":"info","message":"auth send jwt","requestID":"122e5c086358a6bed8b08181d832b926"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"122e5c086358a6bed8b08181d832b926","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"122e5c086358a6bed8b08181d832b926"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:15Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.798303,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:15Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b277244-6c55-4a52-ba20-299c25e0156e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"122e5c086358a6bed8b08181d832b926","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/3b277244-6c55-4a52-ba20-299c25e0156e","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843055,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1NX0.0T7e486OeW-0OMhGc-HarXRSo2imP0ElBDhe9oTgyN4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"122e5c086358a6bed8b08181d832b926","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"122e5c086358a6bed8b08181d832b926"} gateway-1 | {"time_local":"28/Apr/2025:12:24:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3b277244-6c55-4a52-ba20-299c25e0156e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.015","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"122e5c086358a6bed8b08181d832b926"} device-1 | {"level":"info","message":"POST /devices/3b277244-6c55-4a52-ba20-299c25e0156e/websocket 200 12ms","method":"POST","requestID":"122e5c086358a6bed8b08181d832b926","responseTime":12,"status":200,"url":"/devices/3b277244-6c55-4a52-ba20-299c25e0156e/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3b277244-6c55-4a52-ba20-299c25e0156e' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"91eebcc9c09d025c457aa3e150ad4e94","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"91eebcc9c09d025c457aa3e150ad4e94","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/75527e3c-bd78-4908-b8c9-c56ae26de8db/websocket 200 1ms","method":"OPTIONS","requestID":"91eebcc9c09d025c457aa3e150ad4e94","responseTime":1,"status":200,"url":"/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:24:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/75527e3c-bd78-4908-b8c9-c56ae26de8db/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":"91eebcc9c09d025c457aa3e150ad4e94"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1Nn0.nWJLnlaNjUf6Xia--oIkL_3y0mZO2pthx9nGvoQ7rRo","level":"info","message":"auth send jwt","requestID":"21d67cb542ab09ed9d1bdd3a358706da"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"21d67cb542ab09ed9d1bdd3a358706da","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"21d67cb542ab09ed9d1bdd3a358706da"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:16Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.193765,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:16Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"21d67cb542ab09ed9d1bdd3a358706da","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843056,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1Nn0.nWJLnlaNjUf6Xia--oIkL_3y0mZO2pthx9nGvoQ7rRo"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"21d67cb542ab09ed9d1bdd3a358706da","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"21d67cb542ab09ed9d1bdd3a358706da"} gateway-1 | {"time_local":"28/Apr/2025:12:24:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/75527e3c-bd78-4908-b8c9-c56ae26de8db/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":"21d67cb542ab09ed9d1bdd3a358706da"} device-1 | {"level":"info","message":"POST /devices/75527e3c-bd78-4908-b8c9-c56ae26de8db/websocket 200 24ms","method":"POST","requestID":"21d67cb542ab09ed9d1bdd3a358706da","responseTime":24,"status":200,"url":"/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1Nn0.nWJLnlaNjUf6Xia--oIkL_3y0mZO2pthx9nGvoQ7rRo","level":"info","message":"auth send jwt","requestID":"fe7cc36b64d164614eb7b5c61b2c2668"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fe7cc36b64d164614eb7b5c61b2c2668","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fe7cc36b64d164614eb7b5c61b2c2668"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:16Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.967151,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b277244-6c55-4a52-ba20-299c25e0156e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"fe7cc36b64d164614eb7b5c61b2c2668","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/3b277244-6c55-4a52-ba20-299c25e0156e","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843056,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1Nn0.nWJLnlaNjUf6Xia--oIkL_3y0mZO2pthx9nGvoQ7rRo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fe7cc36b64d164614eb7b5c61b2c2668","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b277244-6c55-4a52-ba20-299c25e0156e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b277244-6c55-4a52-ba20-299c25e0156e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:14.347900597Z"}]},"request_id":"6168e64a-9335-4355-b756-8af1a3e0c4f3","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843056.7429972} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"fe7cc36b64d164614eb7b5c61b2c2668","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fe7cc36b64d164614eb7b5c61b2c2668"} device-1 | {"level":"info","message":"GET /devices/3b277244-6c55-4a52-ba20-299c25e0156e? 200 12ms","method":"GET","requestID":"fe7cc36b64d164614eb7b5c61b2c2668","responseTime":12,"status":200,"url":"/devices/3b277244-6c55-4a52-ba20-299c25e0156e?"} gateway-1 | {"time_local":"28/Apr/2025:12:24:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3b277244-6c55-4a52-ba20-299c25e0156e? 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":"fe7cc36b64d164614eb7b5c61b2c2668"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1Nn0.nWJLnlaNjUf6Xia--oIkL_3y0mZO2pthx9nGvoQ7rRo","level":"info","message":"auth send jwt","requestID":"44dc551f175df3377fcdeadc816c71cd"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"44dc551f175df3377fcdeadc816c71cd","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"44dc551f175df3377fcdeadc816c71cd"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:16Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.165625,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"44dc551f175df3377fcdeadc816c71cd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843056,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1Nn0.nWJLnlaNjUf6Xia--oIkL_3y0mZO2pthx9nGvoQ7rRo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"44dc551f175df3377fcdeadc816c71cd","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75527e3c-bd78-4908-b8c9-c56ae26de8db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75527e3c-bd78-4908-b8c9-c56ae26de8db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:14.440053307Z"}]},"request_id":"5025c920-2d6b-4d08-a21f-d5509717538f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843056.770755} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"44dc551f175df3377fcdeadc816c71cd","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"44dc551f175df3377fcdeadc816c71cd"} device-1 | {"level":"info","message":"GET /devices/75527e3c-bd78-4908-b8c9-c56ae26de8db? 200 20ms","method":"GET","requestID":"44dc551f175df3377fcdeadc816c71cd","responseTime":20,"status":200,"url":"/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db?"} gateway-1 | {"time_local":"28/Apr/2025:12:24:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/75527e3c-bd78-4908-b8c9-c56ae26de8db? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"44dc551f175df3377fcdeadc816c71cd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1Nn0.nWJLnlaNjUf6Xia--oIkL_3y0mZO2pthx9nGvoQ7rRo","level":"info","message":"auth send jwt","requestID":"8e6296cd6304354a94d460d7ebbc8426"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8e6296cd6304354a94d460d7ebbc8426","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"8e6296cd6304354a94d460d7ebbc8426"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:16Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.722821,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"8e6296cd6304354a94d460d7ebbc8426","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843056,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1Nn0.nWJLnlaNjUf6Xia--oIkL_3y0mZO2pthx9nGvoQ7rRo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8e6296cd6304354a94d460d7ebbc8426","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/25fc2c8c-46b8-419f-9ed6-26887ab1ef4e"},"level":"info","message":"Attempting to run experiment","requestID":"8e6296cd6304354a94d460d7ebbc8426"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/25fc2c8c-46b8-419f-9ed6-26887ab1ef4e"},"level":"info","message":"Attempting to book experiment","requestID":"8e6296cd6304354a94d460d7ebbc8426"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/25fc2c8c-46b8-419f-9ed6-26887ab1ef4e"},"level":"info","message":"Successfully booked experiment","requestID":"8e6296cd6304354a94d460d7ebbc8426"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b3ddda20-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b3de2840-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:16Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.908822,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b277244-6c55-4a52-ba20-299c25e0156e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b3ddda20-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/3b277244-6c55-4a52-ba20-299c25e0156e","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843056,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1Nn0.nWJLnlaNjUf6Xia--oIkL_3y0mZO2pthx9nGvoQ7rRo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b3ddda20-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42114","level":"info","msg":"Received request.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:16Z"} authorization-1 | {"client_addr":"127.0.0.1:42114","level":"info","msg":"Sent response.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.734939,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b3de2840-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843056,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1Nn0.nWJLnlaNjUf6Xia--oIkL_3y0mZO2pthx9nGvoQ7rRo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b3de2840-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b277244-6c55-4a52-ba20-299c25e0156e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b277244-6c55-4a52-ba20-299c25e0156e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:14.347900597Z"}]},"request_id":"8f8aae38-9e01-4fae-90c9-cc19c358be1f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843056.8435514} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b3ddda20-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75527e3c-bd78-4908-b8c9-c56ae26de8db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75527e3c-bd78-4908-b8c9-c56ae26de8db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:14.440053307Z"}]},"request_id":"d723034b-d08d-4ec7-a8ee-1ddcbd954fa4","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843056.8442516} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b3de2840-242b-11f0-a4ab-3996a0934271","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b3ddda20-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/3b277244-6c55-4a52-ba20-299c25e0156e? 200 14ms","method":"GET","requestID":"b3ddda20-242b-11f0-a4ab-3996a0934271","responseTime":14,"status":200,"url":"/devices/3b277244-6c55-4a52-ba20-299c25e0156e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b3de2840-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/75527e3c-bd78-4908-b8c9-c56ae26de8db? 200 13ms","method":"GET","requestID":"b3de2840-242b-11f0-a4ab-3996a0934271","responseTime":13,"status":200,"url":"/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/25fc2c8c-46b8-419f-9ed6-26887ab1ef4e"},"level":"info","message":"Setting up experiment","requestID":"8e6296cd6304354a94d460d7ebbc8426"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/25fc2c8c-46b8-419f-9ed6-26887ab1ef4e"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"8e6296cd6304354a94d460d7ebbc8426"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/25fc2c8c-46b8-419f-9ed6-26887ab1ef4e"},"level":"info","message":"Successfully locked booking for experiment","requestID":"8e6296cd6304354a94d460d7ebbc8426"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/25fc2c8c-46b8-419f-9ed6-26887ab1ef4e"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"8e6296cd6304354a94d460d7ebbc8426"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/25fc2c8c-46b8-419f-9ed6-26887ab1ef4e"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"8e6296cd6304354a94d460d7ebbc8426"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/25fc2c8c-46b8-419f-9ed6-26887ab1ef4e"},"level":"info","message":"Attempting to update booking for experiment","requestID":"8e6296cd6304354a94d460d7ebbc8426"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/25fc2c8c-46b8-419f-9ed6-26887ab1ef4e"},"level":"info","message":"Successfully updated booking for experiment","requestID":"8e6296cd6304354a94d460d7ebbc8426"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/25fc2c8c-46b8-419f-9ed6-26887ab1ef4e"},"level":"info","message":"Successfully set up experiment","requestID":"8e6296cd6304354a94d460d7ebbc8426"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b3ed6a80-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b3ed9190-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b3edb8a0-242b-11f0-a4ab-3996a0934271"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/25fc2c8c-46b8-419f-9ed6-26887ab1ef4e"},"level":"info","message":"Successfully running experiment","requestID":"8e6296cd6304354a94d460d7ebbc8426"} authorization-1 | {"client_addr":"127.0.0.1:42114","level":"info","msg":"Received request.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:16Z"} authorization-1 | {"client_addr":"127.0.0.1:42114","level":"info","msg":"Sent response.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.747482,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:16Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b277244-6c55-4a52-ba20-299c25e0156e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b3ed6a80-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/3b277244-6c55-4a52-ba20-299c25e0156e","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843056,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1Nn0.nWJLnlaNjUf6Xia--oIkL_3y0mZO2pthx9nGvoQ7rRo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b3ed6a80-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.440664,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:16Z"} authorization-1 | {"client_addr":"127.0.0.1:42114","level":"info","msg":"Received request.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b3ed9190-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843056,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1Nn0.nWJLnlaNjUf6Xia--oIkL_3y0mZO2pthx9nGvoQ7rRo"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b3ed9190-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b277244-6c55-4a52-ba20-299c25e0156e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cadd27c4-d697-4685-a6e0-152acf0d773e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843056.9441347} authorization-1 | {"client_addr":"127.0.0.1:42114","level":"info","msg":"Sent response.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.431509,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b277244-6c55-4a52-ba20-299c25e0156e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b3edb8a0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3b277244-6c55-4a52-ba20-299c25e0156e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b3edb8a0-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b277244-6c55-4a52-ba20-299c25e0156e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b277244-6c55-4a52-ba20-299c25e0156e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:14.347900597Z"}]},"request_id":"0fc8eaef-84bd-44c1-bdf5-95d5b15069a2","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843056.946485} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b3ed6a80-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75527e3c-bd78-4908-b8c9-c56ae26de8db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75527e3c-bd78-4908-b8c9-c56ae26de8db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:14.440053307Z"}]},"request_id":"4a35e99c-153f-4767-ae46-6abeecc3ee5f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843056.9485116} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b3ed9190-242b-11f0-a4ab-3996a0934271","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b3edb8a0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/3b277244-6c55-4a52-ba20-299c25e0156e/signaling 200 12ms","method":"POST","requestID":"b3edb8a0-242b-11f0-a4ab-3996a0934271","responseTime":12,"status":200,"url":"/devices/3b277244-6c55-4a52-ba20-299c25e0156e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b3f3ac10-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b3ed6a80-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/3b277244-6c55-4a52-ba20-299c25e0156e? 200 43ms","method":"GET","requestID":"b3ed6a80-242b-11f0-a4ab-3996a0934271","responseTime":43,"status":200,"url":"/devices/3b277244-6c55-4a52-ba20-299c25e0156e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b3ed9190-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/75527e3c-bd78-4908-b8c9-c56ae26de8db? 200 43ms","method":"GET","requestID":"b3ed9190-242b-11f0-a4ab-3996a0934271","responseTime":43,"status":200,"url":"/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db?"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F25fc2c8c-46b8-419f-9ed6-26887ab1ef4e#owner@http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F25fc2c8c-46b8-419f-9ed6-26887ab1ef4e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"c9bd02de-711d-4396-8e40-75b1be6eedea","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843056.979675} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8f527770-fecc-4511-a6d0-0a395fca1e02","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843056.980083} authorization-1 | {"client_addr":"127.0.0.1:42114","level":"info","msg":"Received request.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:16Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b3f46f60-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"8e6296cd6304354a94d460d7ebbc8426","responseTime":40,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75527e3c-bd78-4908-b8c9-c56ae26de8db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"da765b68-d075-496f-9dfb-1259e67edaef","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843056.982222} authorization-1 | {"client_addr":"127.0.0.1:42114","level":"info","msg":"Sent response.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.482389,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b3f3ac10-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b3f3ac10-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42114","level":"info","msg":"Received request.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:16Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b3f3ac10-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/75527e3c-bd78-4908-b8c9-c56ae26de8db/signaling 200 9ms","method":"POST","requestID":"b3f3ac10-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db/signaling"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b277244-6c55-4a52-ba20-299c25e0156e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8d763be7-84f5-4d2d-a914-590534d5e8ed","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843056.9872808} authorization-1 | {"client_addr":"127.0.0.1:42114","level":"info","msg":"Sent response.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.863974,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:16Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/25fc2c8c-46b8-419f-9ed6-26887ab1ef4e","user":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"8e6296cd6304354a94d460d7ebbc8426"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b277244-6c55-4a52-ba20-299c25e0156e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b3f46f60-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3b277244-6c55-4a52-ba20-299c25e0156e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"28/Apr/2025:12:24:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.215","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8e6296cd6304354a94d460d7ebbc8426"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b3f46f60-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /experiments? 201 211ms","method":"POST","requestID":"8e6296cd6304354a94d460d7ebbc8426","responseTime":211,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b3f46f60-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/3b277244-6c55-4a52-ba20-299c25e0156e/signaling 200 9ms","method":"POST","requestID":"b3f46f60-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/3b277244-6c55-4a52-ba20-299c25e0156e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b3f64420-242b-11f0-a4ab-3996a0934271"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1Nn0.nWJLnlaNjUf6Xia--oIkL_3y0mZO2pthx9nGvoQ7rRo","level":"info","message":"auth send jwt","requestID":"b28a267e3a30fc2f2379d6c00e4cd0b8"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b28a267e3a30fc2f2379d6c00e4cd0b8","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:42114","level":"info","msg":"Received request.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:16Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b28a267e3a30fc2f2379d6c00e4cd0b8"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75527e3c-bd78-4908-b8c9-c56ae26de8db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4178dab8-d002-49ce-aa69-9714e3de99ca","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843056.9981663} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:16Z"} authorization-1 | {"client_addr":"127.0.0.1:42114","level":"info","msg":"Sent response.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.423046,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b3f64420-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db","object_type":"device","rebac_allow":false,"scope_allow":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":"b3f64420-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.717674,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b277244-6c55-4a52-ba20-299c25e0156e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b28a267e3a30fc2f2379d6c00e4cd0b8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/3b277244-6c55-4a52-ba20-299c25e0156e","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843056,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1Nn0.nWJLnlaNjUf6Xia--oIkL_3y0mZO2pthx9nGvoQ7rRo"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"b28a267e3a30fc2f2379d6c00e4cd0b8","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b3f64420-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/75527e3c-bd78-4908-b8c9-c56ae26de8db/signaling 200 33ms","method":"POST","requestID":"b3f64420-242b-11f0-a4ab-3996a0934271","responseTime":33,"status":200,"url":"/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db/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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b277244-6c55-4a52-ba20-299c25e0156e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b277244-6c55-4a52-ba20-299c25e0156e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:14.347900597Z"}]},"request_id":"51009c48-fbc9-40d5-8674-6259ad316edf","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843057.0283198} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/25fc2c8c-46b8-419f-9ed6-26887ab1ef4e"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"8e6296cd6304354a94d460d7ebbc8426"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/25fc2c8c-46b8-419f-9ed6-26887ab1ef4e"},"level":"info","message":"Building connection plan","requestID":"8e6296cd6304354a94d460d7ebbc8426"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"66d21e45-8c88-4dae-85ab-498d7e801f0b"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"2ff82c48-79a1-4868-aee4-58af2dfec340"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"5b11a03b-bcb4-4638-bdee-7bddbd605d4e"}]},"level":"info","message":"Built pairwise service configurations","requestID":"8e6296cd6304354a94d460d7ebbc8426"} 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/3b277244-6c55-4a52-ba20-299c25e0156e"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"8e6296cd6304354a94d460d7ebbc8426"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b28a267e3a30fc2f2379d6c00e4cd0b8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"b3fbe970-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b28a267e3a30fc2f2379d6c00e4cd0b8"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:17Z"} gateway-1 | {"time_local":"28/Apr/2025:12:24:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3b277244-6c55-4a52-ba20-299c25e0156e? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b28a267e3a30fc2f2379d6c00e4cd0b8"} device-1 | {"level":"info","message":"GET /devices/3b277244-6c55-4a52-ba20-299c25e0156e? 200 38ms","method":"GET","requestID":"b28a267e3a30fc2f2379d6c00e4cd0b8","responseTime":38,"status":200,"url":"/devices/3b277244-6c55-4a52-ba20-299c25e0156e?"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.903289,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b3fbe970-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843056,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1Nn0.nWJLnlaNjUf6Xia--oIkL_3y0mZO2pthx9nGvoQ7rRo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b3fbe970-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1N30.NLyVmXxyUpuTE-lIWufGXN3X3XDuFYhTmBB78Dr2uV0","level":"info","message":"auth send jwt","requestID":"e6925260d1eee65c0bf37782fc11497e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e6925260d1eee65c0bf37782fc11497e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e6925260d1eee65c0bf37782fc11497e"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:17Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.621746,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e6925260d1eee65c0bf37782fc11497e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843057,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1N30.NLyVmXxyUpuTE-lIWufGXN3X3XDuFYhTmBB78Dr2uV0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e6925260d1eee65c0bf37782fc11497e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","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%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"cb5ef957-ad29-4ab7-bbf8-a22da11cdfde","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843057.0447176} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fc7483a3-dd59-4a8b-975f-04c40c5f367c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843057.0449405} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75527e3c-bd78-4908-b8c9-c56ae26de8db","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75527e3c-bd78-4908-b8c9-c56ae26de8db","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:14.440053307Z"}]},"request_id":"eca4b43c-41ac-4baa-a479-4c38cb30d40f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843057.0456} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"b3fbe970-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e6925260d1eee65c0bf37782fc11497e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e6925260d1eee65c0bf37782fc11497e"} gateway-1 | {"time_local":"28/Apr/2025:12:24:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/75527e3c-bd78-4908-b8c9-c56ae26de8db? 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":"e6925260d1eee65c0bf37782fc11497e"} device-1 | {"level":"info","message":"GET /devices/75527e3c-bd78-4908-b8c9-c56ae26de8db? 200 11ms","method":"GET","requestID":"e6925260d1eee65c0bf37782fc11497e","responseTime":11,"status":200,"url":"/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"b3fbe970-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"b3fbe970-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/6edd544c-a129-48b8-87b5-bb533f566b28'","requestID":"b3fbe970-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/6edd544c-a129-48b8-87b5-bb533f566b28'","requestID":"b3fbe970-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"b3fbe970-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 49ms","method":"POST","requestID":"b3fbe970-242b-11f0-a4ab-3996a0934271","responseTime":49,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"b3fbe970-242b-11f0-a4ab-3996a0934271"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/6edd544c-a129-48b8-87b5-bb533f566b28","device":"75527e3c-bd78-4908-b8c9-c56ae26de8db","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/25fc2c8c-46b8-419f-9ed6-26887ab1ef4e"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"8e6296cd6304354a94d460d7ebbc8426"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b40bc7f0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:17Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b277244-6c55-4a52-ba20-299c25e0156e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"065ba145-5534-41f7-8ccf-fb94ebb0a539","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843057.139806} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.423257,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b277244-6c55-4a52-ba20-299c25e0156e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b40bc7f0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3b277244-6c55-4a52-ba20-299c25e0156e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b40bc7f0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b40bc7f0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/3b277244-6c55-4a52-ba20-299c25e0156e/signaling 200 8ms","method":"POST","requestID":"b40bc7f0-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/3b277244-6c55-4a52-ba20-299c25e0156e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b40d4e90-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:17Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75527e3c-bd78-4908-b8c9-c56ae26de8db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"063dd0b1-b696-4d0a-b9b3-40f3f518a3f9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843057.173955} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.079187,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b40d4e90-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"b40d4e90-242b-11f0-a4ab-3996a0934271","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b40d4e90-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/75527e3c-bd78-4908-b8c9-c56ae26de8db/signaling 200 34ms","method":"POST","requestID":"b40d4e90-242b-11f0-a4ab-3996a0934271","responseTime":34,"status":200,"url":"/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db/signaling"} device-1 | {"device":"75527e3c-bd78-4908-b8c9-c56ae26de8db","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"75527e3c-bd78-4908-b8c9-c56ae26de8db","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 1633615363574593867 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:uqkr\r\na=ice-pwd:VPgEhI95Fy7tQ3ULcDH82VbT\r\na=ice-options:trickle\r\na=fingerprint:sha-256 A8:0C:B9:8C:C5:EC:4F:A6:C9:8A:61:8C:2F:73:AC:E3:B2:EF:1B:9B:20:78:60:38:7F:20:A5:12:75:5C:91:F5\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"75527e3c-bd78-4908-b8c9-c56ae26de8db","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"device":"75527e3c-bd78-4908-b8c9-c56ae26de8db","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"3b277244-6c55-4a52-ba20-299c25e0156e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"6edd544c-a129-48b8-87b5-bb533f566b28","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"3b277244-6c55-4a52-ba20-299c25e0156e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3b277244-6c55-4a52-ba20-299c25e0156e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3b277244-6c55-4a52-ba20-299c25e0156e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3b277244-6c55-4a52-ba20-299c25e0156e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/6edd544c-a129-48b8-87b5-bb533f566b28' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6edd544c-a129-48b8-87b5-bb533f566b28","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d5909ddc5097eb5fee8ccfe0b6d3facc","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d5909ddc5097eb5fee8ccfe0b6d3facc","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/3b277244-6c55-4a52-ba20-299c25e0156e"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/6edd544c-a129-48b8-87b5-bb533f566b28"}}},"level":"info","message":"received a callback","requestID":"d5909ddc5097eb5fee8ccfe0b6d3facc"} device-1 | {"content":{"candidate":"candidate:3693147540 1 udp 2113937151 efbdcae8-f124-4f44-8608-19672076f99e.local 45570 typ host generation 0 ufrag uqkr network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"75527e3c-bd78-4908-b8c9-c56ae26de8db","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} gateway-1 | {"time_local":"28/Apr/2025:12:24:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"d5909ddc5097eb5fee8ccfe0b6d3facc"} device-1 | {"device":"75527e3c-bd78-4908-b8c9-c56ae26de8db","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"d5909ddc5097eb5fee8ccfe0b6d3facc","responseTime":5,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"peerconnection":"6edd544c-a129-48b8-87b5-bb533f566b28","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"3b277244-6c55-4a52-ba20-299c25e0156e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"75527e3c-bd78-4908-b8c9-c56ae26de8db","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"3b277244-6c55-4a52-ba20-299c25e0156e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"6edd544c-a129-48b8-87b5-bb533f566b28","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/6edd544c-a129-48b8-87b5-bb533f566b28' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6edd544c-a129-48b8-87b5-bb533f566b28","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"efc554513c4cee338d27851f6cd708a3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"efc554513c4cee338d27851f6cd708a3","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/3b277244-6c55-4a52-ba20-299c25e0156e"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/6edd544c-a129-48b8-87b5-bb533f566b28"}}},"level":"info","message":"received a callback","requestID":"efc554513c4cee338d27851f6cd708a3"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"b54113a0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:19Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6edd544c-a129-48b8-87b5-bb533f566b28","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bdf6cb4a-a57b-43d6-a80b-81e30cca858c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843059.166813} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.209545,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6edd544c-a129-48b8-87b5-bb533f566b28","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b54113a0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/6edd544c-a129-48b8-87b5-bb533f566b28","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":"b54113a0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"b54113a0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /peerconnections/6edd544c-a129-48b8-87b5-bb533f566b28 200 30ms","method":"GET","requestID":"b54113a0-242b-11f0-a4ab-3996a0934271","responseTime":30,"status":200,"url":"/peerconnections/6edd544c-a129-48b8-87b5-bb533f566b28"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 76ms","method":"POST","requestID":"efc554513c4cee338d27851f6cd708a3","responseTime":76,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.079","http_referrer":"","http_user_agent":"node-fetch","requestID":"efc554513c4cee338d27851f6cd708a3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b54c3730-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:19Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b277244-6c55-4a52-ba20-299c25e0156e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"20346c03-e750-4f70-9299-c19427788e2d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843059.2402685} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.515519,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b277244-6c55-4a52-ba20-299c25e0156e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b54c3730-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3b277244-6c55-4a52-ba20-299c25e0156e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b54c3730-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b54c3730-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/3b277244-6c55-4a52-ba20-299c25e0156e/signaling 200 10ms","method":"POST","requestID":"b54c3730-242b-11f0-a4ab-3996a0934271","responseTime":10,"status":200,"url":"/devices/3b277244-6c55-4a52-ba20-299c25e0156e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b54e0bf0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:19Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75527e3c-bd78-4908-b8c9-c56ae26de8db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d84867f7-d8b9-45ec-b10a-d7c5afea32d2","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843059.2515893} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.228226,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b54e0bf0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b54e0bf0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b54e0bf0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/75527e3c-bd78-4908-b8c9-c56ae26de8db/signaling 200 9ms","method":"POST","requestID":"b54e0bf0-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1OX0.xmD6yWX32KUpVij-QqBaFMT-yhHc8gDON8j6-iY6GRs","level":"info","message":"auth send jwt","requestID":"9fd3388852e3e00dbb2fa9dc56369f2b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9fd3388852e3e00dbb2fa9dc56369f2b","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/25fc2c8c-46b8-419f-9ed6-26887ab1ef4e","requestID":"9fd3388852e3e00dbb2fa9dc56369f2b"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:19Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.304806,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/25fc2c8c-46b8-419f-9ed6-26887ab1ef4e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9fd3388852e3e00dbb2fa9dc56369f2b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/25fc2c8c-46b8-419f-9ed6-26887ab1ef4e","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843059,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1OX0.xmD6yWX32KUpVij-QqBaFMT-yhHc8gDON8j6-iY6GRs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9fd3388852e3e00dbb2fa9dc56369f2b","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/25fc2c8c-46b8-419f-9ed6-26887ab1ef4e","requestID":"9fd3388852e3e00dbb2fa9dc56369f2b"} gateway-1 | {"time_local":"28/Apr/2025:12:24:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/25fc2c8c-46b8-419f-9ed6-26887ab1ef4e HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9fd3388852e3e00dbb2fa9dc56369f2b"} experiment-1 | {"level":"info","message":"GET /experiments/25fc2c8c-46b8-419f-9ed6-26887ab1ef4e 200 13ms","method":"GET","requestID":"9fd3388852e3e00dbb2fa9dc56369f2b","responseTime":13,"status":200,"url":"/experiments/25fc2c8c-46b8-419f-9ed6-26887ab1ef4e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1OX0.xmD6yWX32KUpVij-QqBaFMT-yhHc8gDON8j6-iY6GRs","level":"info","message":"auth send jwt","requestID":"54edcca364d4f9458a231cb1f54af07d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"54edcca364d4f9458a231cb1f54af07d","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/25fc2c8c-46b8-419f-9ed6-26887ab1ef4e","requestID":"54edcca364d4f9458a231cb1f54af07d"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:19Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.701742,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:19Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/25fc2c8c-46b8-419f-9ed6-26887ab1ef4e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"54edcca364d4f9458a231cb1f54af07d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/25fc2c8c-46b8-419f-9ed6-26887ab1ef4e","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843059,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1OX0.xmD6yWX32KUpVij-QqBaFMT-yhHc8gDON8j6-iY6GRs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"54edcca364d4f9458a231cb1f54af07d","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/25fc2c8c-46b8-419f-9ed6-26887ab1ef4e"},"level":"info","message":"Attempting to finish experiment","requestID":"54edcca364d4f9458a231cb1f54af07d"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"b56f76a0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:19Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.690203,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:19Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6edd544c-a129-48b8-87b5-bb533f566b28","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b56f76a0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:http://localhost/peerconnections/6edd544c-a129-48b8-87b5-bb533f566b28","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843059,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1OX0.xmD6yWX32KUpVij-QqBaFMT-yhHc8gDON8j6-iY6GRs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b56f76a0-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/6edd544c-a129-48b8-87b5-bb533f566b28","device":"75527e3c-bd78-4908-b8c9-c56ae26de8db","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"3b277244-6c55-4a52-ba20-299c25e0156e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3b277244-6c55-4a52-ba20-299c25e0156e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3b277244-6c55-4a52-ba20-299c25e0156e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/6edd544c-a129-48b8-87b5-bb533f566b28' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/6edd544c-a129-48b8-87b5-bb533f566b28' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6edd544c-a129-48b8-87b5-bb533f566b28","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6edd544c-a129-48b8-87b5-bb533f566b28': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6edd544c-a129-48b8-87b5-bb533f566b28","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"68ac84c8-6826-4377-9cd9-6ce2a6511762","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843059.4818878} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"09cd0fe86882e3e311925e9311363745","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"09cd0fe86882e3e311925e9311363745","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b84fbcbd75d87146f5999d258bf4ec21","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b84fbcbd75d87146f5999d258bf4ec21","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/3b277244-6c55-4a52-ba20-299c25e0156e"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6edd544c-a129-48b8-87b5-bb533f566b28"}}},"level":"info","message":"received a callback","requestID":"09cd0fe86882e3e311925e9311363745"} 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/3b277244-6c55-4a52-ba20-299c25e0156e"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6edd544c-a129-48b8-87b5-bb533f566b28"}}},"level":"info","message":"received a callback","requestID":"b84fbcbd75d87146f5999d258bf4ec21"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"27746829-9cc8-4c55-a21c-c198735d191d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843059.484807} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"b56f76a0-242b-11f0-a4ab-3996a0934271","responseTime":11,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"6edd544c-a129-48b8-87b5-bb533f566b28","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"b56f76a0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"DELETE /peerconnections/6edd544c-a129-48b8-87b5-bb533f566b28 204 36ms","method":"DELETE","requestID":"b56f76a0-242b-11f0-a4ab-3996a0934271","responseTime":36,"status":204,"url":"/peerconnections/6edd544c-a129-48b8-87b5-bb533f566b28"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/25fc2c8c-46b8-419f-9ed6-26887ab1ef4e"},"level":"info","message":"Successfully finished experiment","requestID":"54edcca364d4f9458a231cb1f54af07d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b57717c0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:19Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3b277244-6c55-4a52-ba20-299c25e0156e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"96a63d03-4d61-4423-8d24-5f0f999efa69","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843059.5209553} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.645496,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3b277244-6c55-4a52-ba20-299c25e0156e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b57717c0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3b277244-6c55-4a52-ba20-299c25e0156e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b57717c0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b57717c0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/3b277244-6c55-4a52-ba20-299c25e0156e/signaling 200 9ms","method":"POST","requestID":"b57717c0-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/3b277244-6c55-4a52-ba20-299c25e0156e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b578ec80-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F25fc2c8c-46b8-419f-9ed6-26887ab1ef4e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F25fc2c8c-46b8-419f-9ed6-26887ab1ef4e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"cc1f1c27-a790-472d-9d41-79a97b6ae834","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843059.528838} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cd83b0c0-122e-4218-b799-bddff513db8c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843059.5289505} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"54edcca364d4f9458a231cb1f54af07d","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:19Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75527e3c-bd78-4908-b8c9-c56ae26de8db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e891bf9d-90c7-4e64-8166-7d2ef3609943","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843059.532762} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.450899,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b578ec80-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b578ec80-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b578ec80-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/75527e3c-bd78-4908-b8c9-c56ae26de8db/signaling 200 9ms","method":"POST","requestID":"b578ec80-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/25fc2c8c-46b8-419f-9ed6-26887ab1ef4e","requestID":"54edcca364d4f9458a231cb1f54af07d"} gateway-1 | {"time_local":"28/Apr/2025:12:24:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/25fc2c8c-46b8-419f-9ed6-26887ab1ef4e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.133","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"54edcca364d4f9458a231cb1f54af07d"} experiment-1 | {"level":"info","message":"DELETE /experiments/25fc2c8c-46b8-419f-9ed6-26887ab1ef4e 204 131ms","method":"DELETE","requestID":"54edcca364d4f9458a231cb1f54af07d","responseTime":131,"status":204,"url":"/experiments/25fc2c8c-46b8-419f-9ed6-26887ab1ef4e"} gateway-1 | {"time_local":"28/Apr/2025:12:24:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2323","request_time":"4.195","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"4e732639da1dfe31fafbc6e3a8cee025"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 106ms","method":"POST","requestID":"09cd0fe86882e3e311925e9311363745","responseTime":106,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.110","http_referrer":"","http_user_agent":"node-fetch","requestID":"09cd0fe86882e3e311925e9311363745"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 106ms","method":"POST","requestID":"b84fbcbd75d87146f5999d258bf4ec21","responseTime":106,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.108","http_referrer":"","http_user_agent":"node-fetch","requestID":"b84fbcbd75d87146f5999d258bf4ec21"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1OX0.xmD6yWX32KUpVij-QqBaFMT-yhHc8gDON8j6-iY6GRs","level":"info","message":"auth send jwt","requestID":"602937ee0214e351d055969ef0f882cb"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"602937ee0214e351d055969ef0f882cb","responseTime":28,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"602937ee0214e351d055969ef0f882cb"} gateway-1 | {"time_local":"28/Apr/2025:12:24:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2527","request_time":"2.906","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"38baa6ee6f36c69c2881490d6806ee98"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:19Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.026133,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"602937ee0214e351d055969ef0f882cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843059,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1OX0.xmD6yWX32KUpVij-QqBaFMT-yhHc8gDON8j6-iY6GRs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"602937ee0214e351d055969ef0f882cb","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/3b277244-6c55-4a52-ba20-299c25e0156e' 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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9eb73e-535c-41ae-ab25-9e4bcc9551e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4ae24017-545e-4dc5-8c1f-bc2bbc383ca3","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843059.6378257} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"602937ee0214e351d055969ef0f882cb","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/75527e3c-bd78-4908-b8c9-c56ae26de8db' 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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f0ab8262-5a88-4d8c-be21-7dcaab3d1f88","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843059.6664236} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"602937ee0214e351d055969ef0f882cb","responseTime":27,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9eb73e-535c-41ae-ab25-9e4bcc9551e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"380560ce-4285-4cb0-91de-9098dc419f55","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843059.676301} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5eeaa591-e309-4f2d-a41b-52b5afbc5b07","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843059.6764882} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"602937ee0214e351d055969ef0f882cb","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9eb73e-535c-41ae-ab25-9e4bcc9551e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9eb73e-535c-41ae-ab25-9e4bcc9551e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:19.676282270Z"}]},"request_id":"be0bfa94-910e-4fb5-81f2-3692d1cffb39","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843059.6807382} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"602937ee0214e351d055969ef0f882cb","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"602937ee0214e351d055969ef0f882cb"} device-1 | {"level":"info","message":"POST /devices? 201 61ms","method":"POST","requestID":"602937ee0214e351d055969ef0f882cb","responseTime":61,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:24:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.091","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"602937ee0214e351d055969ef0f882cb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1OX0.xmD6yWX32KUpVij-QqBaFMT-yhHc8gDON8j6-iY6GRs","level":"info","message":"auth send jwt","requestID":"f9c6b914ac5257bab6cef5843795a52d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f9c6b914ac5257bab6cef5843795a52d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f9c6b914ac5257bab6cef5843795a52d"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:19Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.928157,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"f9c6b914ac5257bab6cef5843795a52d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843059,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA1OX0.xmD6yWX32KUpVij-QqBaFMT-yhHc8gDON8j6-iY6GRs"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"f9c6b914ac5257bab6cef5843795a52d","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bca4009-9438-423e-8c7f-1397623f5b8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3ee94c8e-6a0e-4967-bc01-68b8bd4a752a","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843059.7300131} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f9c6b914ac5257bab6cef5843795a52d","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bd4e0024-3fda-4525-959e-a5662598b7f7","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843059.7346125} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"f9c6b914ac5257bab6cef5843795a52d","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bca4009-9438-423e-8c7f-1397623f5b8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"5a770f5d-b155-441e-b111-9179eb295398","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843059.7686136} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fab785ef-7468-48ed-b12a-a815a9e5257c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843059.7689419} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"f9c6b914ac5257bab6cef5843795a52d","responseTime":36,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bca4009-9438-423e-8c7f-1397623f5b8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bca4009-9438-423e-8c7f-1397623f5b8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:19.768595227Z"}]},"request_id":"e43009d2-91ff-4033-983d-d3bcc5541ccd","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843059.7729821} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f9c6b914ac5257bab6cef5843795a52d","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f9c6b914ac5257bab6cef5843795a52d"} device-1 | {"level":"info","message":"POST /devices? 201 88ms","method":"POST","requestID":"f9c6b914ac5257bab6cef5843795a52d","responseTime":88,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:24:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.092","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f9c6b914ac5257bab6cef5843795a52d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2MH0.anupTOvO1Ljo2tkzHKjktPW_DQVz1z6YBHzbPXB6xqg","level":"info","message":"auth send jwt","requestID":"d55a29c2272acecb66a1ec0b03acdfbb"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d55a29c2272acecb66a1ec0b03acdfbb","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2MH0.anupTOvO1Ljo2tkzHKjktPW_DQVz1z6YBHzbPXB6xqg","level":"info","message":"auth send jwt","requestID":"abd39e81a67803e0253c6b223c80bf95"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"d55a29c2272acecb66a1ec0b03acdfbb"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"abd39e81a67803e0253c6b223c80bf95","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"abd39e81a67803e0253c6b223c80bf95"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:20Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.647644,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:20Z"} authorization-1 | {"client_addr":"127.0.0.1:42114","level":"info","msg":"Received request.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:20Z"} authorization-1 | {"client_addr":"127.0.0.1:42114","level":"info","msg":"Sent response.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":20.80128,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5bca4009-9438-423e-8c7f-1397623f5b8a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d55a29c2272acecb66a1ec0b03acdfbb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/5bca4009-9438-423e-8c7f-1397623f5b8a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843060,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2MH0.anupTOvO1Ljo2tkzHKjktPW_DQVz1z6YBHzbPXB6xqg"} authorization-1 | {"level":"info","message":"POST /authorize 200 24ms","method":"POST","requestID":"d55a29c2272acecb66a1ec0b03acdfbb","responseTime":24,"status":200,"url":"/authorize"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"abd39e81a67803e0253c6b223c80bf95","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843060,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2MH0.anupTOvO1Ljo2tkzHKjktPW_DQVz1z6YBHzbPXB6xqg"} authorization-1 | {"level":"info","message":"POST /authorize 200 23ms","method":"POST","requestID":"abd39e81a67803e0253c6b223c80bf95","responseTime":23,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9eb73e-535c-41ae-ab25-9e4bcc9551e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9eb73e-535c-41ae-ab25-9e4bcc9551e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:19.676282270Z"}]},"request_id":"eb582ce5-e3f6-4d7f-8602-72c84f371453","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843060.6801338} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bca4009-9438-423e-8c7f-1397623f5b8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bca4009-9438-423e-8c7f-1397623f5b8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:19.768595227Z"}]},"request_id":"6b4421c9-b434-4f46-8473-ce05f126e49c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843060.6811502} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"abd39e81a67803e0253c6b223c80bf95","responseTime":7,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"d55a29c2272acecb66a1ec0b03acdfbb","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"42806e03-bbc0-433d-97c6-f57658b0480e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843060.6896508} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"abd39e81a67803e0253c6b223c80bf95","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e5e715b1-4c84-4dc9-9c28-476059b6f695","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843060.6910815} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"d55a29c2272acecb66a1ec0b03acdfbb","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bca4009-9438-423e-8c7f-1397623f5b8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bca4009-9438-423e-8c7f-1397623f5b8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:19.768595227Z"}]},"request_id":"01f73c37-95e5-4261-8354-212c5d24b2ed","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843060.695026} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d55a29c2272acecb66a1ec0b03acdfbb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"d55a29c2272acecb66a1ec0b03acdfbb"} device-1 | {"level":"info","message":"PATCH /devices/5bca4009-9438-423e-8c7f-1397623f5b8a 200 72ms","method":"PATCH","requestID":"d55a29c2272acecb66a1ec0b03acdfbb","responseTime":72,"status":200,"url":"/devices/5bca4009-9438-423e-8c7f-1397623f5b8a"} gateway-1 | {"time_local":"28/Apr/2025:12:24:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/5bca4009-9438-423e-8c7f-1397623f5b8a HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.077","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"d55a29c2272acecb66a1ec0b03acdfbb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2MH0.anupTOvO1Ljo2tkzHKjktPW_DQVz1z6YBHzbPXB6xqg","level":"info","message":"auth send jwt","requestID":"bcf622d3dbdbc7520d5c8ddec40d4d63"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bcf622d3dbdbc7520d5c8ddec40d4d63","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"bcf622d3dbdbc7520d5c8ddec40d4d63"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9eb73e-535c-41ae-ab25-9e4bcc9551e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9eb73e-535c-41ae-ab25-9e4bcc9551e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:19.676282270Z"}]},"request_id":"ff900567-3e0b-4284-ad32-dfb8a88f8dd9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843060.7272906} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"abd39e81a67803e0253c6b223c80bf95","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:42114","level":"info","msg":"Received request.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:20Z"} authorization-1 | {"client_addr":"127.0.0.1:42114","level":"info","msg":"Sent response.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.668924,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:20Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"abd39e81a67803e0253c6b223c80bf95"} gateway-1 | {"time_local":"28/Apr/2025:12:24:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.085","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"abd39e81a67803e0253c6b223c80bf95"} device-1 | {"level":"info","message":"PATCH /devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5 200 79ms","method":"PATCH","requestID":"abd39e81a67803e0253c6b223c80bf95","responseTime":79,"status":200,"url":"/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5bca4009-9438-423e-8c7f-1397623f5b8a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bcf622d3dbdbc7520d5c8ddec40d4d63","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/5bca4009-9438-423e-8c7f-1397623f5b8a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843060,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2MH0.anupTOvO1Ljo2tkzHKjktPW_DQVz1z6YBHzbPXB6xqg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bcf622d3dbdbc7520d5c8ddec40d4d63","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2MH0.anupTOvO1Ljo2tkzHKjktPW_DQVz1z6YBHzbPXB6xqg","level":"info","message":"auth send jwt","requestID":"3149663d66e6a84e2fb849f6d37c8d2e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3149663d66e6a84e2fb849f6d37c8d2e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"3149663d66e6a84e2fb849f6d37c8d2e"} authorization-1 | {"client_addr":"127.0.0.1:42114","level":"info","msg":"Received request.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:20Z"} authorization-1 | {"client_addr":"127.0.0.1:42114","level":"info","msg":"Sent response.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.067591,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"3149663d66e6a84e2fb849f6d37c8d2e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843060,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2MH0.anupTOvO1Ljo2tkzHKjktPW_DQVz1z6YBHzbPXB6xqg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3149663d66e6a84e2fb849f6d37c8d2e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"bcf622d3dbdbc7520d5c8ddec40d4d63"} gateway-1 | {"time_local":"28/Apr/2025:12:24:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5bca4009-9438-423e-8c7f-1397623f5b8a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.020","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"bcf622d3dbdbc7520d5c8ddec40d4d63"} device-1 | {"level":"info","message":"POST /devices/5bca4009-9438-423e-8c7f-1397623f5b8a/websocket 200 16ms","method":"POST","requestID":"bcf622d3dbdbc7520d5c8ddec40d4d63","responseTime":16,"status":200,"url":"/devices/5bca4009-9438-423e-8c7f-1397623f5b8a/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"3149663d66e6a84e2fb849f6d37c8d2e"} device-1 | {"level":"info","message":"POST /devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5/websocket 200 43ms","method":"POST","requestID":"3149663d66e6a84e2fb849f6d37c8d2e","responseTime":43,"status":200,"url":"/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:24:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.047","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"3149663d66e6a84e2fb849f6d37c8d2e"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5bca4009-9438-423e-8c7f-1397623f5b8a' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2MH0.anupTOvO1Ljo2tkzHKjktPW_DQVz1z6YBHzbPXB6xqg","level":"info","message":"auth send jwt","requestID":"269a0f3851b1c5ea64b2c6a073902aba"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"269a0f3851b1c5ea64b2c6a073902aba","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"269a0f3851b1c5ea64b2c6a073902aba"} authorization-1 | {"client_addr":"127.0.0.1:42114","level":"info","msg":"Received request.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:20Z"} authorization-1 | {"client_addr":"127.0.0.1:42114","level":"info","msg":"Sent response.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.774639,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"269a0f3851b1c5ea64b2c6a073902aba","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843060,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2MH0.anupTOvO1Ljo2tkzHKjktPW_DQVz1z6YBHzbPXB6xqg"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"269a0f3851b1c5ea64b2c6a073902aba","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9eb73e-535c-41ae-ab25-9e4bcc9551e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9eb73e-535c-41ae-ab25-9e4bcc9551e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:19.676282270Z"}]},"request_id":"608a1f65-7057-45b8-b59b-94e67523529f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843060.8283033} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"269a0f3851b1c5ea64b2c6a073902aba","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"269a0f3851b1c5ea64b2c6a073902aba"} gateway-1 | {"time_local":"28/Apr/2025:12:24:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5? 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":"269a0f3851b1c5ea64b2c6a073902aba"} device-1 | {"level":"info","message":"GET /devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5? 200 9ms","method":"GET","requestID":"269a0f3851b1c5ea64b2c6a073902aba","responseTime":9,"status":200,"url":"/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2MH0.anupTOvO1Ljo2tkzHKjktPW_DQVz1z6YBHzbPXB6xqg","level":"info","message":"auth send jwt","requestID":"235e68f6d4b6ea1887831a0f197e0ceb"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"235e68f6d4b6ea1887831a0f197e0ceb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"235e68f6d4b6ea1887831a0f197e0ceb"} authorization-1 | {"client_addr":"127.0.0.1:42114","level":"info","msg":"Received request.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:20Z"} authorization-1 | {"client_addr":"127.0.0.1:42114","level":"info","msg":"Sent response.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.745583,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5bca4009-9438-423e-8c7f-1397623f5b8a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"235e68f6d4b6ea1887831a0f197e0ceb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/5bca4009-9438-423e-8c7f-1397623f5b8a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843060,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2MH0.anupTOvO1Ljo2tkzHKjktPW_DQVz1z6YBHzbPXB6xqg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"235e68f6d4b6ea1887831a0f197e0ceb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bca4009-9438-423e-8c7f-1397623f5b8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bca4009-9438-423e-8c7f-1397623f5b8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:19.768595227Z"}]},"request_id":"37fc0264-82f3-40dc-a4f5-64fb2c9a3c8f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843060.8660324} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"235e68f6d4b6ea1887831a0f197e0ceb","responseTime":26,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"235e68f6d4b6ea1887831a0f197e0ceb"} device-1 | {"level":"info","message":"GET /devices/5bca4009-9438-423e-8c7f-1397623f5b8a? 200 33ms","method":"GET","requestID":"235e68f6d4b6ea1887831a0f197e0ceb","responseTime":33,"status":200,"url":"/devices/5bca4009-9438-423e-8c7f-1397623f5b8a?"} gateway-1 | {"time_local":"28/Apr/2025:12:24:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5bca4009-9438-423e-8c7f-1397623f5b8a? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"235e68f6d4b6ea1887831a0f197e0ceb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2MH0.anupTOvO1Ljo2tkzHKjktPW_DQVz1z6YBHzbPXB6xqg","level":"info","message":"auth send jwt","requestID":"eab3936abd891817f720fd786c6e36d6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"eab3936abd891817f720fd786c6e36d6","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"eab3936abd891817f720fd786c6e36d6"} authorization-1 | {"client_addr":"127.0.0.1:42114","level":"info","msg":"Received request.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:20Z"} authorization-1 | {"client_addr":"127.0.0.1:42114","level":"info","msg":"Sent response.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.751809,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"eab3936abd891817f720fd786c6e36d6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843060,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2MH0.anupTOvO1Ljo2tkzHKjktPW_DQVz1z6YBHzbPXB6xqg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"eab3936abd891817f720fd786c6e36d6","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d82345a-296c-4492-85e7-acc35aa174fa"},"level":"info","message":"Attempting to run experiment","requestID":"eab3936abd891817f720fd786c6e36d6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d82345a-296c-4492-85e7-acc35aa174fa"},"level":"info","message":"Attempting to book experiment","requestID":"eab3936abd891817f720fd786c6e36d6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d82345a-296c-4492-85e7-acc35aa174fa"},"level":"info","message":"Successfully booked experiment","requestID":"eab3936abd891817f720fd786c6e36d6"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b64da1a0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b64dc8b0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:42114","level":"info","msg":"Received request.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:20Z"} authorization-1 | {"client_addr":"127.0.0.1:42114","level":"info","msg":"Sent response.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.948793,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:20Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b64da1a0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843060,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2MH0.anupTOvO1Ljo2tkzHKjktPW_DQVz1z6YBHzbPXB6xqg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b64da1a0-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.538422,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5bca4009-9438-423e-8c7f-1397623f5b8a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b64dc8b0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/5bca4009-9438-423e-8c7f-1397623f5b8a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843060,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2MH0.anupTOvO1Ljo2tkzHKjktPW_DQVz1z6YBHzbPXB6xqg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b64dc8b0-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9eb73e-535c-41ae-ab25-9e4bcc9551e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9eb73e-535c-41ae-ab25-9e4bcc9551e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:19.676282270Z"}]},"request_id":"5d3ac593-ba4d-4084-bbf2-a013e98794a0","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843060.9287326} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b64da1a0-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bca4009-9438-423e-8c7f-1397623f5b8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bca4009-9438-423e-8c7f-1397623f5b8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:19.768595227Z"}]},"request_id":"985bb272-ffe0-45ee-8e92-fdfaef45bb99","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843060.929279} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b64dc8b0-242b-11f0-a4ab-3996a0934271","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b64da1a0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5? 200 10ms","method":"GET","requestID":"b64da1a0-242b-11f0-a4ab-3996a0934271","responseTime":10,"status":200,"url":"/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b64dc8b0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/5bca4009-9438-423e-8c7f-1397623f5b8a? 200 10ms","method":"GET","requestID":"b64dc8b0-242b-11f0-a4ab-3996a0934271","responseTime":10,"status":200,"url":"/devices/5bca4009-9438-423e-8c7f-1397623f5b8a?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d82345a-296c-4492-85e7-acc35aa174fa"},"level":"info","message":"Setting up experiment","requestID":"eab3936abd891817f720fd786c6e36d6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d82345a-296c-4492-85e7-acc35aa174fa"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"eab3936abd891817f720fd786c6e36d6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d82345a-296c-4492-85e7-acc35aa174fa"},"level":"info","message":"Successfully locked booking for experiment","requestID":"eab3936abd891817f720fd786c6e36d6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d82345a-296c-4492-85e7-acc35aa174fa"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"eab3936abd891817f720fd786c6e36d6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d82345a-296c-4492-85e7-acc35aa174fa"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"eab3936abd891817f720fd786c6e36d6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d82345a-296c-4492-85e7-acc35aa174fa"},"level":"info","message":"Attempting to update booking for experiment","requestID":"eab3936abd891817f720fd786c6e36d6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d82345a-296c-4492-85e7-acc35aa174fa"},"level":"info","message":"Successfully updated booking for experiment","requestID":"eab3936abd891817f720fd786c6e36d6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d82345a-296c-4492-85e7-acc35aa174fa"},"level":"info","message":"Successfully set up experiment","requestID":"eab3936abd891817f720fd786c6e36d6"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b65ce3e0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b65d0af0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b65d3200-242b-11f0-a4ab-3996a0934271"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d82345a-296c-4492-85e7-acc35aa174fa"},"level":"info","message":"Successfully running experiment","requestID":"eab3936abd891817f720fd786c6e36d6"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Received request.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:21Z"} authorization-1 | {"client_addr":"127.0.0.1:56698","level":"info","msg":"Sent response.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.675313,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:21Z"} authorization-1 | {"client_addr":"127.0.0.1:42114","level":"info","msg":"Received request.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b65ce3e0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843060,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2MH0.anupTOvO1Ljo2tkzHKjktPW_DQVz1z6YBHzbPXB6xqg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b65ce3e0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42114","level":"info","msg":"Sent response.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.650458,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5bca4009-9438-423e-8c7f-1397623f5b8a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b65d0af0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/5bca4009-9438-423e-8c7f-1397623f5b8a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843060,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2MH0.anupTOvO1Ljo2tkzHKjktPW_DQVz1z6YBHzbPXB6xqg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b65d0af0-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bca4009-9438-423e-8c7f-1397623f5b8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bca4009-9438-423e-8c7f-1397623f5b8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:19.768595227Z"}]},"request_id":"c1c0bfae-7326-4141-8adf-5e508b64d6ca","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843061.0569227} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9eb73e-535c-41ae-ab25-9e4bcc9551e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9eb73e-535c-41ae-ab25-9e4bcc9551e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:19.676282270Z"}]},"request_id":"fe2b9e0e-bd6e-45d8-8904-f6e94a74515d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843061.0579817} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"b65d0af0-242b-11f0-a4ab-3996a0934271","responseTime":28,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:21Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"b65ce3e0-242b-11f0-a4ab-3996a0934271","responseTime":28,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.763861,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:21Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9eb73e-535c-41ae-ab25-9e4bcc9551e5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c6bbccf6-54ba-4a13-b0a9-155803bb0273","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843061.0599499} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b65d3200-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5","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":"b65d0af0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"level":"info","message":"POST /authorize 200 37ms","method":"POST","requestID":"b65d3200-242b-11f0-a4ab-3996a0934271","responseTime":37,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"GET /devices/5bca4009-9438-423e-8c7f-1397623f5b8a? 200 40ms","method":"GET","requestID":"b65d0af0-242b-11f0-a4ab-3996a0934271","responseTime":40,"status":200,"url":"/devices/5bca4009-9438-423e-8c7f-1397623f5b8a?"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7d82345a-296c-4492-85e7-acc35aa174fa#owner@http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7d82345a-296c-4492-85e7-acc35aa174fa","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"dedb9f65-f672-4cd2-a173-4204eb4c75ef","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843061.0621624} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b65ce3e0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8710ef28-e7ae-4cbe-9ec4-064432297b9a","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843061.0624802} device-1 | {"level":"info","message":"GET /devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5? 200 42ms","method":"GET","requestID":"b65ce3e0-242b-11f0-a4ab-3996a0934271","responseTime":42,"status":200,"url":"/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"eab3936abd891817f720fd786c6e36d6","responseTime":35,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b6639aa0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b65d3200-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5/signaling 200 44ms","method":"POST","requestID":"b65d3200-242b-11f0-a4ab-3996a0934271","responseTime":44,"status":200,"url":"/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5/signaling"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:21Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9eb73e-535c-41ae-ab25-9e4bcc9551e5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dddad541-8fef-4bdd-ac6c-7120da3042d0","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843061.070924} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.478611,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b6639aa0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5","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":"b6648500-242b-11f0-a4ab-3996a0934271"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/7d82345a-296c-4492-85e7-acc35aa174fa","user":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"eab3936abd891817f720fd786c6e36d6"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b6639aa0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"28/Apr/2025:12:24:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"785","request_time":"0.203","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eab3936abd891817f720fd786c6e36d6"} experiment-1 | {"level":"info","message":"POST /experiments? 201 200ms","method":"POST","requestID":"eab3936abd891817f720fd786c6e36d6","responseTime":200,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:21Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bca4009-9438-423e-8c7f-1397623f5b8a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"437c6ab6-0301-4001-86ae-30ae48cab4fc","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843061.0765994} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b6639aa0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5/signaling 200 12ms","method":"POST","requestID":"b6639aa0-242b-11f0-a4ab-3996a0934271","responseTime":12,"status":200,"url":"/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5/signaling"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.779579,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5bca4009-9438-423e-8c7f-1397623f5b8a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b6648500-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5bca4009-9438-423e-8c7f-1397623f5b8a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"b6648500-242b-11f0-a4ab-3996a0934271","responseTime":32,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b6698e10-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:21Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b6648500-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/5bca4009-9438-423e-8c7f-1397623f5b8a/signaling 200 36ms","method":"POST","requestID":"b6648500-242b-11f0-a4ab-3996a0934271","responseTime":36,"status":200,"url":"/devices/5bca4009-9438-423e-8c7f-1397623f5b8a/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2MX0.UKPIsDxNfLinjaumDm5KJS7ZQR77MHS7E12Zb8IcHYQ","level":"info","message":"auth send jwt","requestID":"7a3b868a9cd8f00d7edd3375e3de65ef"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bca4009-9438-423e-8c7f-1397623f5b8a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4d36b452-03ee-44e4-b897-631bdab14e02","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843061.110301} authentication-1 | {"level":"info","message":"GET /auth 200 34ms","method":"GET","requestID":"7a3b868a9cd8f00d7edd3375e3de65ef","responseTime":34,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.909066,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:21Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7a3b868a9cd8f00d7edd3375e3de65ef"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5bca4009-9438-423e-8c7f-1397623f5b8a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b6698e10-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5bca4009-9438-423e-8c7f-1397623f5b8a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b6698e10-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:21Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b6698e10-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/5bca4009-9438-423e-8c7f-1397623f5b8a/signaling 200 9ms","method":"POST","requestID":"b6698e10-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/5bca4009-9438-423e-8c7f-1397623f5b8a/signaling"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.940788,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:21Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d82345a-296c-4492-85e7-acc35aa174fa"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"eab3936abd891817f720fd786c6e36d6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d82345a-296c-4492-85e7-acc35aa174fa"},"level":"info","message":"Building connection plan","requestID":"eab3936abd891817f720fd786c6e36d6"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"d101705a-cff1-4d59-9a85-5b8a19365340"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"ef4efabd-59ce-4e2c-9888-155b4e99dd31"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"fe6509fb-76de-4fed-870f-3e2023539aad"}]},"level":"info","message":"Built pairwise service configurations","requestID":"eab3936abd891817f720fd786c6e36d6"} 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/5bca4009-9438-423e-8c7f-1397623f5b8a"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"eab3936abd891817f720fd786c6e36d6"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"7a3b868a9cd8f00d7edd3375e3de65ef","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843061,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2MX0.UKPIsDxNfLinjaumDm5KJS7ZQR77MHS7E12Zb8IcHYQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7a3b868a9cd8f00d7edd3375e3de65ef","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"b66b89e0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9eb73e-535c-41ae-ab25-9e4bcc9551e5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9eb73e-535c-41ae-ab25-9e4bcc9551e5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:19.676282270Z"}]},"request_id":"cac7c89d-f1df-4cf8-a438-bc50e138b125","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843061.1200595} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7a3b868a9cd8f00d7edd3375e3de65ef","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:21Z"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.688545,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b66b89e0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843060,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2MH0.anupTOvO1Ljo2tkzHKjktPW_DQVz1z6YBHzbPXB6xqg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b66b89e0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7a3b868a9cd8f00d7edd3375e3de65ef"} gateway-1 | {"time_local":"28/Apr/2025:12:24:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7a3b868a9cd8f00d7edd3375e3de65ef"} device-1 | {"level":"info","message":"GET /devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5? 200 13ms","method":"GET","requestID":"7a3b868a9cd8f00d7edd3375e3de65ef","responseTime":13,"status":200,"url":"/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2MX0.UKPIsDxNfLinjaumDm5KJS7ZQR77MHS7E12Zb8IcHYQ","level":"info","message":"auth send jwt","requestID":"bcb8506ad5a818820a5014ff3834d2bf"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"bcb8506ad5a818820a5014ff3834d2bf","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bcb8506ad5a818820a5014ff3834d2bf"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","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%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"7e2982d5-7a29-40eb-b847-0a8d1efddbe4","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843061.1546314} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"30a79aa1-3151-4dad-92bf-02d12ae3dc04","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843061.1548176} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"b66b89e0-242b-11f0-a4ab-3996a0934271","responseTime":30,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:21Z"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.908694,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5bca4009-9438-423e-8c7f-1397623f5b8a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bcb8506ad5a818820a5014ff3834d2bf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/5bca4009-9438-423e-8c7f-1397623f5b8a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843061,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2MX0.UKPIsDxNfLinjaumDm5KJS7ZQR77MHS7E12Zb8IcHYQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bcb8506ad5a818820a5014ff3834d2bf","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bca4009-9438-423e-8c7f-1397623f5b8a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bca4009-9438-423e-8c7f-1397623f5b8a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:19.768595227Z"}]},"request_id":"872f9d83-9072-464b-949f-709157ce8f9e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843061.1608772} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bcb8506ad5a818820a5014ff3834d2bf","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"b66b89e0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"b66b89e0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/43245052-dafc-4d34-9449-69c54bf7df8b'","requestID":"b66b89e0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/43245052-dafc-4d34-9449-69c54bf7df8b'","requestID":"b66b89e0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"b66b89e0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 51ms","method":"POST","requestID":"b66b89e0-242b-11f0-a4ab-3996a0934271","responseTime":51,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bcb8506ad5a818820a5014ff3834d2bf"} gateway-1 | {"time_local":"28/Apr/2025:12:24:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5bca4009-9438-423e-8c7f-1397623f5b8a? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bcb8506ad5a818820a5014ff3834d2bf"} device-1 | {"level":"info","message":"GET /devices/5bca4009-9438-423e-8c7f-1397623f5b8a? 200 17ms","method":"GET","requestID":"bcb8506ad5a818820a5014ff3834d2bf","responseTime":17,"status":200,"url":"/devices/5bca4009-9438-423e-8c7f-1397623f5b8a?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"b66b89e0-242b-11f0-a4ab-3996a0934271"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d82345a-296c-4492-85e7-acc35aa174fa"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"eab3936abd891817f720fd786c6e36d6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b67ffc40-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:21Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9eb73e-535c-41ae-ab25-9e4bcc9551e5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9fb53973-8d4a-49f2-849c-27a68a20fa79","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843061.255818} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.244676,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b67ffc40-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5","object_type":"device","rebac_allow":false,"scope_allow":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":"b67ffc40-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b67ffc40-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5/signaling 200 7ms","method":"POST","requestID":"b67ffc40-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b6815bd0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:21Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bca4009-9438-423e-8c7f-1397623f5b8a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4fb386e6-5a03-4d05-a168-da857ec2b725","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843061.265671} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.232886,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5bca4009-9438-423e-8c7f-1397623f5b8a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b6815bd0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5bca4009-9438-423e-8c7f-1397623f5b8a","object_type":"device","rebac_allow":false,"scope_allow":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":"b6815bd0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b6815bd0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/5bca4009-9438-423e-8c7f-1397623f5b8a/signaling 200 8ms","method":"POST","requestID":"b6815bd0-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/5bca4009-9438-423e-8c7f-1397623f5b8a/signaling"} device-1 | {"device":"ec9eb73e-535c-41ae-ab25-9e4bcc9551e5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"43245052-dafc-4d34-9449-69c54bf7df8b","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"5bca4009-9438-423e-8c7f-1397623f5b8a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"43245052-dafc-4d34-9449-69c54bf7df8b","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"5bca4009-9438-423e-8c7f-1397623f5b8a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5bca4009-9438-423e-8c7f-1397623f5b8a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5bca4009-9438-423e-8c7f-1397623f5b8a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5bca4009-9438-423e-8c7f-1397623f5b8a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/43245052-dafc-4d34-9449-69c54bf7df8b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"43245052-dafc-4d34-9449-69c54bf7df8b","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"56e2de6715eb7c7e94eaca3089462a15","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"56e2de6715eb7c7e94eaca3089462a15","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/5bca4009-9438-423e-8c7f-1397623f5b8a"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/43245052-dafc-4d34-9449-69c54bf7df8b"}}},"level":"info","message":"received a callback","requestID":"56e2de6715eb7c7e94eaca3089462a15"} device-1 | {"device":"ec9eb73e-535c-41ae-ab25-9e4bcc9551e5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ec9eb73e-535c-41ae-ab25-9e4bcc9551e5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ec9eb73e-535c-41ae-ab25-9e4bcc9551e5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"56e2de6715eb7c7e94eaca3089462a15","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24: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":"56e2de6715eb7c7e94eaca3089462a15"} device-1 | {"data":{"peerconnection":"43245052-dafc-4d34-9449-69c54bf7df8b","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"5bca4009-9438-423e-8c7f-1397623f5b8a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ec9eb73e-535c-41ae-ab25-9e4bcc9551e5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5bca4009-9438-423e-8c7f-1397623f5b8a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ec9eb73e-535c-41ae-ab25-9e4bcc9551e5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"43245052-dafc-4d34-9449-69c54bf7df8b","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/43245052-dafc-4d34-9449-69c54bf7df8b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"43245052-dafc-4d34-9449-69c54bf7df8b","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a2c4172d1fa65d0137edf5e43d822570","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a2c4172d1fa65d0137edf5e43d822570","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/5bca4009-9438-423e-8c7f-1397623f5b8a"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/43245052-dafc-4d34-9449-69c54bf7df8b"}}},"level":"info","message":"received a callback","requestID":"a2c4172d1fa65d0137edf5e43d822570"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"b7b743c0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"b7b743c0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /peerconnections/43245052-dafc-4d34-9449-69c54bf7df8b 200 9ms","method":"GET","requestID":"b7b743c0-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/peerconnections/43245052-dafc-4d34-9449-69c54bf7df8b"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:23Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F43245052-dafc-4d34-9449-69c54bf7df8b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"57bed62c-5183-4823-a640-05a3ac705239","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843063.2973554} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.587105,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/43245052-dafc-4d34-9449-69c54bf7df8b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b7b743c0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/43245052-dafc-4d34-9449-69c54bf7df8b","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":"b7b743c0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 31ms","method":"POST","requestID":"a2c4172d1fa65d0137edf5e43d822570","responseTime":31,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b7baed40-242b-11f0-a4ab-3996a0934271"} gateway-1 | {"time_local":"28/Apr/2025:12:24: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.034","http_referrer":"","http_user_agent":"node-fetch","requestID":"a2c4172d1fa65d0137edf5e43d822570"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:23Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bca4009-9438-423e-8c7f-1397623f5b8a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"61d92c2e-288e-4558-9835-bb003cd2e3b6","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843063.3204658} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.480059,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5bca4009-9438-423e-8c7f-1397623f5b8a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b7baed40-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5bca4009-9438-423e-8c7f-1397623f5b8a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b7baed40-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b7baed40-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/5bca4009-9438-423e-8c7f-1397623f5b8a/signaling 200 9ms","method":"POST","requestID":"b7baed40-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/5bca4009-9438-423e-8c7f-1397623f5b8a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b7bc9af0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:23Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9eb73e-535c-41ae-ab25-9e4bcc9551e5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a527771b-1973-46a8-9f0e-529b017c6372","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843063.3315158} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.283494,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b7bc9af0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b7bc9af0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b7bc9af0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5/signaling 200 8ms","method":"POST","requestID":"b7bc9af0-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2M30.XGrHY9sdDpCTnAT5Nw9tv50CJP7zLMSi55SGABSgd_M","level":"info","message":"auth send jwt","requestID":"699dd5119e71677dc4a2f44a056b5e7b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"699dd5119e71677dc4a2f44a056b5e7b","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7d82345a-296c-4492-85e7-acc35aa174fa","requestID":"699dd5119e71677dc4a2f44a056b5e7b"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:23Z"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.696409,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7d82345a-296c-4492-85e7-acc35aa174fa","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"699dd5119e71677dc4a2f44a056b5e7b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/7d82345a-296c-4492-85e7-acc35aa174fa","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843063,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2M30.XGrHY9sdDpCTnAT5Nw9tv50CJP7zLMSi55SGABSgd_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"699dd5119e71677dc4a2f44a056b5e7b","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/7d82345a-296c-4492-85e7-acc35aa174fa","requestID":"699dd5119e71677dc4a2f44a056b5e7b"} gateway-1 | {"time_local":"28/Apr/2025:12:24:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7d82345a-296c-4492-85e7-acc35aa174fa HTTP/1.1","status": "200","body_bytes_sent":"858","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"699dd5119e71677dc4a2f44a056b5e7b"} experiment-1 | {"level":"info","message":"GET /experiments/7d82345a-296c-4492-85e7-acc35aa174fa 200 9ms","method":"GET","requestID":"699dd5119e71677dc4a2f44a056b5e7b","responseTime":9,"status":200,"url":"/experiments/7d82345a-296c-4492-85e7-acc35aa174fa"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2M30.XGrHY9sdDpCTnAT5Nw9tv50CJP7zLMSi55SGABSgd_M","level":"info","message":"auth send jwt","requestID":"c043cfd232b8b99b0d11f7c23db8c131"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c043cfd232b8b99b0d11f7c23db8c131","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/7d82345a-296c-4492-85e7-acc35aa174fa","requestID":"c043cfd232b8b99b0d11f7c23db8c131"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:23Z"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.307885,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:23Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7d82345a-296c-4492-85e7-acc35aa174fa","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c043cfd232b8b99b0d11f7c23db8c131","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/7d82345a-296c-4492-85e7-acc35aa174fa","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843063,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2M30.XGrHY9sdDpCTnAT5Nw9tv50CJP7zLMSi55SGABSgd_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c043cfd232b8b99b0d11f7c23db8c131","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d82345a-296c-4492-85e7-acc35aa174fa"},"level":"info","message":"Attempting to finish experiment","requestID":"c043cfd232b8b99b0d11f7c23db8c131"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"b7dd6960-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:23Z"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.678691,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:23Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/43245052-dafc-4d34-9449-69c54bf7df8b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b7dd6960-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:http://localhost/peerconnections/43245052-dafc-4d34-9449-69c54bf7df8b","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843063,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2M30.XGrHY9sdDpCTnAT5Nw9tv50CJP7zLMSi55SGABSgd_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"b7dd6960-242b-11f0-a4ab-3996a0934271","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"device":"ec9eb73e-535c-41ae-ab25-9e4bcc9551e5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ec9eb73e-535c-41ae-ab25-9e4bcc9551e5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ec9eb73e-535c-41ae-ab25-9e4bcc9551e5","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5bca4009-9438-423e-8c7f-1397623f5b8a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5bca4009-9438-423e-8c7f-1397623f5b8a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5bca4009-9438-423e-8c7f-1397623f5b8a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/43245052-dafc-4d34-9449-69c54bf7df8b' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/43245052-dafc-4d34-9449-69c54bf7df8b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"43245052-dafc-4d34-9449-69c54bf7df8b","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F43245052-dafc-4d34-9449-69c54bf7df8b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F43245052-dafc-4d34-9449-69c54bf7df8b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"d0d54a6d-608b-415e-9143-eebf52b29e01","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843063.5557017} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"770b5bf4e364b4cdce1a15e5ff8c256d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"93559348-eaab-4e93-80d3-5f22a3fd35bc","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843063.556073} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"770b5bf4e364b4cdce1a15e5ff8c256d","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"b7dd6960-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"abc1dc447d9b0baa7947f2798685b163","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"abc1dc447d9b0baa7947f2798685b163","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/5bca4009-9438-423e-8c7f-1397623f5b8a"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/43245052-dafc-4d34-9449-69c54bf7df8b"}}},"level":"info","message":"received a callback","requestID":"770b5bf4e364b4cdce1a15e5ff8c256d"} 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/5bca4009-9438-423e-8c7f-1397623f5b8a"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/43245052-dafc-4d34-9449-69c54bf7df8b"}}},"level":"info","message":"received a callback","requestID":"abc1dc447d9b0baa7947f2798685b163"} device-1 | {"data":{"peerconnection":"43245052-dafc-4d34-9449-69c54bf7df8b","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"b7dd6960-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"DELETE /peerconnections/43245052-dafc-4d34-9449-69c54bf7df8b 204 33ms","method":"DELETE","requestID":"b7dd6960-242b-11f0-a4ab-3996a0934271","responseTime":33,"status":204,"url":"/peerconnections/43245052-dafc-4d34-9449-69c54bf7df8b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7d82345a-296c-4492-85e7-acc35aa174fa"},"level":"info","message":"Successfully finished experiment","requestID":"c043cfd232b8b99b0d11f7c23db8c131"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b7e88cf0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:23Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5bca4009-9438-423e-8c7f-1397623f5b8a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8cf6b303-72b7-4b7c-b25f-21c308f5b505","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843063.620495} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.748193,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5bca4009-9438-423e-8c7f-1397623f5b8a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b7e88cf0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5bca4009-9438-423e-8c7f-1397623f5b8a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b7e88cf0-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b7e88cf0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/5bca4009-9438-423e-8c7f-1397623f5b8a/signaling 200 33ms","method":"POST","requestID":"b7e88cf0-242b-11f0-a4ab-3996a0934271","responseTime":33,"status":200,"url":"/devices/5bca4009-9438-423e-8c7f-1397623f5b8a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b7ede420-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7d82345a-296c-4492-85e7-acc35aa174fa': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7d82345a-296c-4492-85e7-acc35aa174fa","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"42e4bc08-1681-4f8d-9abe-167c8cacc084","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843063.6514955} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"96a393ae-abf7-4d6d-a25e-92f50aee832b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843063.6518679} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"c043cfd232b8b99b0d11f7c23db8c131","responseTime":40,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:23Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec9eb73e-535c-41ae-ab25-9e4bcc9551e5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"57bf9cef-0863-4a16-8732-1a17c8f82cc9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843063.6544366} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.806126,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b7ede420-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b7ede420-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b7ede420-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5/signaling 200 10ms","method":"POST","requestID":"b7ede420-242b-11f0-a4ab-3996a0934271","responseTime":10,"status":200,"url":"/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/7d82345a-296c-4492-85e7-acc35aa174fa","requestID":"c043cfd232b8b99b0d11f7c23db8c131"} gateway-1 | {"time_local":"28/Apr/2025:12:24:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/7d82345a-296c-4492-85e7-acc35aa174fa 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":"c043cfd232b8b99b0d11f7c23db8c131"} experiment-1 | {"level":"info","message":"DELETE /experiments/7d82345a-296c-4492-85e7-acc35aa174fa 204 213ms","method":"DELETE","requestID":"c043cfd232b8b99b0d11f7c23db8c131","responseTime":213,"status":204,"url":"/experiments/7d82345a-296c-4492-85e7-acc35aa174fa"} gateway-1 | {"time_local":"28/Apr/2025:12:24:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2532","request_time":"2.974","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"b2926e8511b6bb34a38fcf8ca9165651"} gateway-1 | {"time_local":"28/Apr/2025:12:24:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2532","request_time":"2.966","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"742b8c6a4277f0d8f1f2681a88b21830"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 190ms","method":"POST","requestID":"770b5bf4e364b4cdce1a15e5ff8c256d","responseTime":190,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24: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.194","http_referrer":"","http_user_agent":"node-fetch","requestID":"770b5bf4e364b4cdce1a15e5ff8c256d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2M30.XGrHY9sdDpCTnAT5Nw9tv50CJP7zLMSi55SGABSgd_M","level":"info","message":"auth send jwt","requestID":"d63e6ecf4de1b3627ac85ae80e5790fc"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 191ms","method":"POST","requestID":"abc1dc447d9b0baa7947f2798685b163","responseTime":191,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24: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.195","http_referrer":"","http_user_agent":"node-fetch","requestID":"abc1dc447d9b0baa7947f2798685b163"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d63e6ecf4de1b3627ac85ae80e5790fc","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"d63e6ecf4de1b3627ac85ae80e5790fc"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ec9eb73e-535c-41ae-ab25-9e4bcc9551e5' closed"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:23Z"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.802871,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d63e6ecf4de1b3627ac85ae80e5790fc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843063,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2M30.XGrHY9sdDpCTnAT5Nw9tv50CJP7zLMSi55SGABSgd_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d63e6ecf4de1b3627ac85ae80e5790fc","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/5bca4009-9438-423e-8c7f-1397623f5b8a' 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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a01cdc8-ff48-4345-b8d2-51163d2100b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2eed441e-1f96-4c18-921b-d8d78c32c675","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843063.7978852} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d63e6ecf4de1b3627ac85ae80e5790fc","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"78a7530c-089b-46da-af8d-ec133078b84c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843063.8028398} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"d63e6ecf4de1b3627ac85ae80e5790fc","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a01cdc8-ff48-4345-b8d2-51163d2100b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"0ae6869a-0496-4e7b-aa8a-430548dbfe4d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843063.8141742} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1086a493-7076-4b87-ab4a-bfc22fdd9658","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843063.8143141} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"d63e6ecf4de1b3627ac85ae80e5790fc","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a01cdc8-ff48-4345-b8d2-51163d2100b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a01cdc8-ff48-4345-b8d2-51163d2100b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:23.814153935Z"}]},"request_id":"4b200174-4ba3-44d5-9963-e0b4c90fd906","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843063.8192763} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d63e6ecf4de1b3627ac85ae80e5790fc","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"d63e6ecf4de1b3627ac85ae80e5790fc"} gateway-1 | {"time_local":"28/Apr/2025:12:24: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.074","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d63e6ecf4de1b3627ac85ae80e5790fc"} device-1 | {"level":"info","message":"POST /devices? 201 67ms","method":"POST","requestID":"d63e6ecf4de1b3627ac85ae80e5790fc","responseTime":67,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2M30.XGrHY9sdDpCTnAT5Nw9tv50CJP7zLMSi55SGABSgd_M","level":"info","message":"auth send jwt","requestID":"b2b57993023c0de4b3ca3a05850b3562"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b2b57993023c0de4b3ca3a05850b3562","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b2b57993023c0de4b3ca3a05850b3562"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:23Z"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.716242,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b2b57993023c0de4b3ca3a05850b3562","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843063,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2M30.XGrHY9sdDpCTnAT5Nw9tv50CJP7zLMSi55SGABSgd_M"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b2b57993023c0de4b3ca3a05850b3562","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F40271824-8a7d-4c61-813a-ae71c9dec23f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"370162b3-6714-45e9-8dfd-34ab3163e096","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843063.843914} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b2b57993023c0de4b3ca3a05850b3562","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"72a7312f-8959-431e-8d19-3e77e860a6f7","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843063.8491325} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"b2b57993023c0de4b3ca3a05850b3562","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F40271824-8a7d-4c61-813a-ae71c9dec23f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"b21165a9-be38-4cfc-b6bb-4db7dde70c73","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843063.859043} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e075842d-c2fe-4268-9035-095adc735725","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843063.8591926} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"b2b57993023c0de4b3ca3a05850b3562","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F40271824-8a7d-4c61-813a-ae71c9dec23f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F40271824-8a7d-4c61-813a-ae71c9dec23f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:23.859024295Z"}]},"request_id":"96da12b6-b903-4c94-a153-af89729cb784","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843063.8633282} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b2b57993023c0de4b3ca3a05850b3562","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b2b57993023c0de4b3ca3a05850b3562"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"b2b57993023c0de4b3ca3a05850b3562","responseTime":45,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:24: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.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b2b57993023c0de4b3ca3a05850b3562"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"05561faf697bc69fe17421af2bddded6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"05561faf697bc69fe17421af2bddded6","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:24:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/40271824-8a7d-4c61-813a-ae71c9dec23f/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":"05561faf697bc69fe17421af2bddded6"} device-1 | {"level":"info","message":"OPTIONS /devices/40271824-8a7d-4c61-813a-ae71c9dec23f/websocket 200 1ms","method":"OPTIONS","requestID":"05561faf697bc69fe17421af2bddded6","responseTime":1,"status":200,"url":"/devices/40271824-8a7d-4c61-813a-ae71c9dec23f/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2Nn0.maheeYxIntFXYwaae4bgbI_VYcpAR5E5YxIFTFGbfvc","level":"info","message":"auth send jwt","requestID":"2ad99d85949b6b153edb6d49d94a8733"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2ad99d85949b6b153edb6d49d94a8733","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"2ad99d85949b6b153edb6d49d94a8733"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.444756,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/40271824-8a7d-4c61-813a-ae71c9dec23f","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"2ad99d85949b6b153edb6d49d94a8733","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/40271824-8a7d-4c61-813a-ae71c9dec23f","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843066,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2Nn0.maheeYxIntFXYwaae4bgbI_VYcpAR5E5YxIFTFGbfvc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2ad99d85949b6b153edb6d49d94a8733","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"2ad99d85949b6b153edb6d49d94a8733"} gateway-1 | {"time_local":"28/Apr/2025:12:24:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/40271824-8a7d-4c61-813a-ae71c9dec23f/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":"2ad99d85949b6b153edb6d49d94a8733"} device-1 | {"level":"info","message":"POST /devices/40271824-8a7d-4c61-813a-ae71c9dec23f/websocket 200 20ms","method":"POST","requestID":"2ad99d85949b6b153edb6d49d94a8733","responseTime":20,"status":200,"url":"/devices/40271824-8a7d-4c61-813a-ae71c9dec23f/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"54f24542699df688b80fc8a9f6352344","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"54f24542699df688b80fc8a9f6352344","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:24:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.002","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"54f24542699df688b80fc8a9f6352344"} device-1 | {"level":"info","message":"OPTIONS /devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0/websocket 200 1ms","method":"OPTIONS","requestID":"54f24542699df688b80fc8a9f6352344","responseTime":1,"status":200,"url":"/devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/40271824-8a7d-4c61-813a-ae71c9dec23f' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2Nn0.maheeYxIntFXYwaae4bgbI_VYcpAR5E5YxIFTFGbfvc","level":"info","message":"auth send jwt","requestID":"23eabae31ec88f785d7acdef77536410"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"23eabae31ec88f785d7acdef77536410","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"23eabae31ec88f785d7acdef77536410"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.082616,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"23eabae31ec88f785d7acdef77536410","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843066,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2Nn0.maheeYxIntFXYwaae4bgbI_VYcpAR5E5YxIFTFGbfvc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"23eabae31ec88f785d7acdef77536410","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"23eabae31ec88f785d7acdef77536410"} device-1 | {"level":"info","message":"POST /devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0/websocket 200 14ms","method":"POST","requestID":"23eabae31ec88f785d7acdef77536410","responseTime":14,"status":200,"url":"/devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:24:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.018","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"23eabae31ec88f785d7acdef77536410"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2Nn0.maheeYxIntFXYwaae4bgbI_VYcpAR5E5YxIFTFGbfvc","level":"info","message":"auth send jwt","requestID":"275083bbcc5da1c399752d6e9e3f3b63"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"275083bbcc5da1c399752d6e9e3f3b63","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"275083bbcc5da1c399752d6e9e3f3b63"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.644371,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"275083bbcc5da1c399752d6e9e3f3b63","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843066,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2Nn0.maheeYxIntFXYwaae4bgbI_VYcpAR5E5YxIFTFGbfvc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"275083bbcc5da1c399752d6e9e3f3b63","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a01cdc8-ff48-4345-b8d2-51163d2100b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a01cdc8-ff48-4345-b8d2-51163d2100b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:23.814153935Z"}]},"request_id":"4091d0e3-f47c-4820-a171-e58f80c9f778","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843066.1465049} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"275083bbcc5da1c399752d6e9e3f3b63","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"275083bbcc5da1c399752d6e9e3f3b63"} gateway-1 | {"time_local":"28/Apr/2025:12:24:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0? 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":"275083bbcc5da1c399752d6e9e3f3b63"} device-1 | {"level":"info","message":"GET /devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0? 200 14ms","method":"GET","requestID":"275083bbcc5da1c399752d6e9e3f3b63","responseTime":14,"status":200,"url":"/devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2Nn0.maheeYxIntFXYwaae4bgbI_VYcpAR5E5YxIFTFGbfvc","level":"info","message":"auth send jwt","requestID":"447c1ce68a2451cbef4733d4ac754938"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"447c1ce68a2451cbef4733d4ac754938","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"447c1ce68a2451cbef4733d4ac754938"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.656843,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/40271824-8a7d-4c61-813a-ae71c9dec23f","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"447c1ce68a2451cbef4733d4ac754938","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/40271824-8a7d-4c61-813a-ae71c9dec23f","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843066,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2Nn0.maheeYxIntFXYwaae4bgbI_VYcpAR5E5YxIFTFGbfvc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"447c1ce68a2451cbef4733d4ac754938","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F40271824-8a7d-4c61-813a-ae71c9dec23f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F40271824-8a7d-4c61-813a-ae71c9dec23f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:23.859024295Z"}]},"request_id":"5c8d898a-7b67-4438-9f46-ff7a4eac5ceb","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843066.1655877} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"447c1ce68a2451cbef4733d4ac754938","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"447c1ce68a2451cbef4733d4ac754938"} device-1 | {"level":"info","message":"GET /devices/40271824-8a7d-4c61-813a-ae71c9dec23f? 200 14ms","method":"GET","requestID":"447c1ce68a2451cbef4733d4ac754938","responseTime":14,"status":200,"url":"/devices/40271824-8a7d-4c61-813a-ae71c9dec23f?"} gateway-1 | {"time_local":"28/Apr/2025:12:24:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/40271824-8a7d-4c61-813a-ae71c9dec23f? 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":"447c1ce68a2451cbef4733d4ac754938"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2Nn0.maheeYxIntFXYwaae4bgbI_VYcpAR5E5YxIFTFGbfvc","level":"info","message":"auth send jwt","requestID":"ce217d37b969215d335ed01caaa4c3db"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"ce217d37b969215d335ed01caaa4c3db","responseTime":7,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"ce217d37b969215d335ed01caaa4c3db"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.699304,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ce217d37b969215d335ed01caaa4c3db","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843066,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2Nn0.maheeYxIntFXYwaae4bgbI_VYcpAR5E5YxIFTFGbfvc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ce217d37b969215d335ed01caaa4c3db","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40b271db-6125-4c15-9d0b-949380882162"},"level":"info","message":"Attempting to run experiment","requestID":"ce217d37b969215d335ed01caaa4c3db"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40b271db-6125-4c15-9d0b-949380882162"},"level":"info","message":"Attempting to book experiment","requestID":"ce217d37b969215d335ed01caaa4c3db"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40b271db-6125-4c15-9d0b-949380882162"},"level":"info","message":"Successfully booked experiment","requestID":"ce217d37b969215d335ed01caaa4c3db"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b974d240-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b974f950-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.944067,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b974d240-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843066,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2Nn0.maheeYxIntFXYwaae4bgbI_VYcpAR5E5YxIFTFGbfvc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b974d240-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.095383,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/40271824-8a7d-4c61-813a-ae71c9dec23f","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b974f950-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/40271824-8a7d-4c61-813a-ae71c9dec23f","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843066,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2Nn0.maheeYxIntFXYwaae4bgbI_VYcpAR5E5YxIFTFGbfvc"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"b974f950-242b-11f0-a4ab-3996a0934271","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a01cdc8-ff48-4345-b8d2-51163d2100b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a01cdc8-ff48-4345-b8d2-51163d2100b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:23.814153935Z"}]},"request_id":"e58edc07-8102-492c-aeb7-ba2062678a09","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843066.2422683} authorization-1 | {"level":"info","message":"POST /relations/query 200 24ms","method":"POST","requestID":"b974d240-242b-11f0-a4ab-3996a0934271","responseTime":24,"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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F40271824-8a7d-4c61-813a-ae71c9dec23f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F40271824-8a7d-4c61-813a-ae71c9dec23f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:23.859024295Z"}]},"request_id":"bc52c032-a915-40dd-8b32-1b6378059421","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843066.2464612} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b974d240-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0? 200 35ms","method":"GET","requestID":"b974d240-242b-11f0-a4ab-3996a0934271","responseTime":35,"status":200,"url":"/devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b974f950-242b-11f0-a4ab-3996a0934271","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b974f950-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/40271824-8a7d-4c61-813a-ae71c9dec23f? 200 36ms","method":"GET","requestID":"b974f950-242b-11f0-a4ab-3996a0934271","responseTime":36,"status":200,"url":"/devices/40271824-8a7d-4c61-813a-ae71c9dec23f?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40b271db-6125-4c15-9d0b-949380882162"},"level":"info","message":"Setting up experiment","requestID":"ce217d37b969215d335ed01caaa4c3db"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40b271db-6125-4c15-9d0b-949380882162"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"ce217d37b969215d335ed01caaa4c3db"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40b271db-6125-4c15-9d0b-949380882162"},"level":"info","message":"Successfully locked booking for experiment","requestID":"ce217d37b969215d335ed01caaa4c3db"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40b271db-6125-4c15-9d0b-949380882162"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"ce217d37b969215d335ed01caaa4c3db"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40b271db-6125-4c15-9d0b-949380882162"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"ce217d37b969215d335ed01caaa4c3db"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40b271db-6125-4c15-9d0b-949380882162"},"level":"info","message":"Attempting to update booking for experiment","requestID":"ce217d37b969215d335ed01caaa4c3db"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40b271db-6125-4c15-9d0b-949380882162"},"level":"info","message":"Successfully updated booking for experiment","requestID":"ce217d37b969215d335ed01caaa4c3db"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40b271db-6125-4c15-9d0b-949380882162"},"level":"info","message":"Successfully set up experiment","requestID":"ce217d37b969215d335ed01caaa4c3db"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b9841480-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b987e510-242b-11f0-a4ab-3996a0934271"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40b271db-6125-4c15-9d0b-949380882162"},"level":"info","message":"Successfully running experiment","requestID":"ce217d37b969215d335ed01caaa4c3db"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b9880c20-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.9218,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b9841480-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843066,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2Nn0.maheeYxIntFXYwaae4bgbI_VYcpAR5E5YxIFTFGbfvc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b9841480-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.069945,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/40271824-8a7d-4c61-813a-ae71c9dec23f","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b987e510-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/40271824-8a7d-4c61-813a-ae71c9dec23f","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843066,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2Nn0.maheeYxIntFXYwaae4bgbI_VYcpAR5E5YxIFTFGbfvc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b987e510-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a01cdc8-ff48-4345-b8d2-51163d2100b0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"41b37296-583f-484a-9d1e-e2ff549a0c94","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843066.3459585} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.158446,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b9880c20-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0","object_type":"device","rebac_allow":false,"scope_allow":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":"b9880c20-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a01cdc8-ff48-4345-b8d2-51163d2100b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a01cdc8-ff48-4345-b8d2-51163d2100b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:23.814153935Z"}]},"request_id":"84072388-ebcf-488c-92f5-e8435932c936","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843066.3473783} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F40271824-8a7d-4c61-813a-ae71c9dec23f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F40271824-8a7d-4c61-813a-ae71c9dec23f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:23.859024295Z"}]},"request_id":"a78ee79e-c63b-4877-b710-6afaa92451bf","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843066.3486435} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"b9841480-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b987e510-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F40b271db-6125-4c15-9d0b-949380882162#owner@http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F40b271db-6125-4c15-9d0b-949380882162","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"9dfd4e2b-f403-471f-b116-528290a498f9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843066.3528023} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"93bc27ec-7397-4c67-a8a2-9bf427fc5cb6","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843066.3530493} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"ce217d37b969215d335ed01caaa4c3db","responseTime":15,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b9880c20-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0/signaling 200 18ms","method":"POST","requestID":"b9880c20-242b-11f0-a4ab-3996a0934271","responseTime":18,"status":200,"url":"/devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b9841480-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0? 200 45ms","method":"GET","requestID":"b9841480-242b-11f0-a4ab-3996a0934271","responseTime":45,"status":200,"url":"/devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b987e510-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/40271824-8a7d-4c61-813a-ae71c9dec23f? 200 21ms","method":"GET","requestID":"b987e510-242b-11f0-a4ab-3996a0934271","responseTime":21,"status":200,"url":"/devices/40271824-8a7d-4c61-813a-ae71c9dec23f?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b98b4070-242b-11f0-a4ab-3996a0934271"} gateway-1 | {"time_local":"28/Apr/2025:12:24:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.192","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ce217d37b969215d335ed01caaa4c3db"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/40b271db-6125-4c15-9d0b-949380882162","user":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"ce217d37b969215d335ed01caaa4c3db"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:26Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b98b6780-242b-11f0-a4ab-3996a0934271"} experiment-1 | {"level":"info","message":"POST /experiments? 201 183ms","method":"POST","requestID":"ce217d37b969215d335ed01caaa4c3db","responseTime":183,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F40271824-8a7d-4c61-813a-ae71c9dec23f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7b6c2983-e47e-4eed-9cc5-bf1348fbfbce","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843066.3636637} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.673635,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/40271824-8a7d-4c61-813a-ae71c9dec23f","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b98b4070-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/40271824-8a7d-4c61-813a-ae71c9dec23f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"b98b4070-242b-11f0-a4ab-3996a0934271","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a01cdc8-ff48-4345-b8d2-51163d2100b0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3662a4ab-4715-4630-a65f-dec14d76fcf0","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843066.3890991} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.834113,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b98b6780-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2Nn0.maheeYxIntFXYwaae4bgbI_VYcpAR5E5YxIFTFGbfvc","level":"info","message":"auth send jwt","requestID":"1859ccc04d51b8d906dfb180c3cd6696"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1859ccc04d51b8d906dfb180c3cd6696","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"b98b6780-242b-11f0-a4ab-3996a0934271","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b98b4070-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/40271824-8a7d-4c61-813a-ae71c9dec23f/signaling 200 34ms","method":"POST","requestID":"b98b4070-242b-11f0-a4ab-3996a0934271","responseTime":34,"status":200,"url":"/devices/40271824-8a7d-4c61-813a-ae71c9dec23f/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1859ccc04d51b8d906dfb180c3cd6696"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b98b6780-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0/signaling 200 35ms","method":"POST","requestID":"b98b6780-242b-11f0-a4ab-3996a0934271","responseTime":35,"status":200,"url":"/devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0/signaling"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.960563,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"1859ccc04d51b8d906dfb180c3cd6696","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843066,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2Nn0.maheeYxIntFXYwaae4bgbI_VYcpAR5E5YxIFTFGbfvc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1859ccc04d51b8d906dfb180c3cd6696","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b9910cd0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a01cdc8-ff48-4345-b8d2-51163d2100b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a01cdc8-ff48-4345-b8d2-51163d2100b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:23.814153935Z"}]},"request_id":"e395cf4b-b073-4d51-af25-c8f22dc4f258","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843066.4013836} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F40271824-8a7d-4c61-813a-ae71c9dec23f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"68952250-4994-442e-b92c-6b9c59d8d272","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843066.4015336} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1859ccc04d51b8d906dfb180c3cd6696","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.209088,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/40271824-8a7d-4c61-813a-ae71c9dec23f","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b9910cd0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/40271824-8a7d-4c61-813a-ae71c9dec23f","object_type":"device","rebac_allow":false,"scope_allow":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":"b9910cd0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1859ccc04d51b8d906dfb180c3cd6696"} gateway-1 | {"time_local":"28/Apr/2025:12:24:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1859ccc04d51b8d906dfb180c3cd6696"} device-1 | {"level":"info","message":"GET /devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0? 200 12ms","method":"GET","requestID":"1859ccc04d51b8d906dfb180c3cd6696","responseTime":12,"status":200,"url":"/devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b9910cd0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/40271824-8a7d-4c61-813a-ae71c9dec23f/signaling 200 8ms","method":"POST","requestID":"b9910cd0-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/40271824-8a7d-4c61-813a-ae71c9dec23f/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40b271db-6125-4c15-9d0b-949380882162"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"ce217d37b969215d335ed01caaa4c3db"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40b271db-6125-4c15-9d0b-949380882162"},"level":"info","message":"Building connection plan","requestID":"ce217d37b969215d335ed01caaa4c3db"} 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":"9bfcdc1f-8708-4a03-ad1c-f6990b29bc60"},{"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":"89736321-145e-46e0-80f3-9a8894645b41"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"576c51bc-331f-4901-94d5-be8707aa061f"}]},"level":"info","message":"Built pairwise service configurations","requestID":"ce217d37b969215d335ed01caaa4c3db"} 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/40271824-8a7d-4c61-813a-ae71c9dec23f"},{"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/7a01cdc8-ff48-4345-b8d2-51163d2100b0"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"ce217d37b969215d335ed01caaa4c3db"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"b9968b10-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.598221,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b9968b10-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843066,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2Nn0.maheeYxIntFXYwaae4bgbI_VYcpAR5E5YxIFTFGbfvc"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"b9968b10-242b-11f0-a4ab-3996a0934271","responseTime":2,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2Nn0.maheeYxIntFXYwaae4bgbI_VYcpAR5E5YxIFTFGbfvc","level":"info","message":"auth send jwt","requestID":"bda921efba7ed005c7b7f8aa3258b6b9"} authentication-1 | {"level":"info","message":"GET /auth 200 30ms","method":"GET","requestID":"bda921efba7ed005c7b7f8aa3258b6b9","responseTime":30,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bda921efba7ed005c7b7f8aa3258b6b9"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.780501,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/40271824-8a7d-4c61-813a-ae71c9dec23f","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bda921efba7ed005c7b7f8aa3258b6b9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/40271824-8a7d-4c61-813a-ae71c9dec23f","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843066,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2Nn0.maheeYxIntFXYwaae4bgbI_VYcpAR5E5YxIFTFGbfvc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bda921efba7ed005c7b7f8aa3258b6b9","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F40271824-8a7d-4c61-813a-ae71c9dec23f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F40271824-8a7d-4c61-813a-ae71c9dec23f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:23.859024295Z"}]},"request_id":"fe051c11-5354-4c59-af17-f5af90a61cb0","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843066.446251} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bda921efba7ed005c7b7f8aa3258b6b9","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","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%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"d9bcc1af-748d-4e4c-ab23-58f4282ece74","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843066.4473221} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7a11033a-8430-467e-8b61-31bfec159e1a","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843066.4475687} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"b9968b10-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bda921efba7ed005c7b7f8aa3258b6b9"} gateway-1 | {"time_local":"28/Apr/2025:12:24:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/40271824-8a7d-4c61-813a-ae71c9dec23f? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bda921efba7ed005c7b7f8aa3258b6b9"} device-1 | {"level":"info","message":"GET /devices/40271824-8a7d-4c61-813a-ae71c9dec23f? 200 12ms","method":"GET","requestID":"bda921efba7ed005c7b7f8aa3258b6b9","responseTime":12,"status":200,"url":"/devices/40271824-8a7d-4c61-813a-ae71c9dec23f?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"b9968b10-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"b9968b10-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/8ef52afe-7e36-435a-bf52-18c09808fa1f'","requestID":"b9968b10-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/8ef52afe-7e36-435a-bf52-18c09808fa1f'","requestID":"b9968b10-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"b9968b10-242b-11f0-a4ab-3996a0934271"} 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":"b9968b10-242b-11f0-a4ab-3996a0934271","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":"b9968b10-242b-11f0-a4ab-3996a0934271"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/8ef52afe-7e36-435a-bf52-18c09808fa1f","device":"40271824-8a7d-4c61-813a-ae71c9dec23f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/8ef52afe-7e36-435a-bf52-18c09808fa1f","device":"7a01cdc8-ff48-4345-b8d2-51163d2100b0","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/40b271db-6125-4c15-9d0b-949380882162"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"ce217d37b969215d335ed01caaa4c3db"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b9a5a640-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a01cdc8-ff48-4345-b8d2-51163d2100b0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ab54bbf4-f263-4860-a728-02a5e008dbf1","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843066.5364566} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.197179,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b9a5a640-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b9a5a640-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b9a5a640-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0/signaling 200 8ms","method":"POST","requestID":"b9a5a640-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b9a705d0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F40271824-8a7d-4c61-813a-ae71c9dec23f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a31290fd-e278-422f-9337-9a831c81bf15","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843066.5460832} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.056737,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/40271824-8a7d-4c61-813a-ae71c9dec23f","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b9a705d0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/40271824-8a7d-4c61-813a-ae71c9dec23f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b9a705d0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b9a705d0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/40271824-8a7d-4c61-813a-ae71c9dec23f/signaling 200 36ms","method":"POST","requestID":"b9a705d0-242b-11f0-a4ab-3996a0934271","responseTime":36,"status":200,"url":"/devices/40271824-8a7d-4c61-813a-ae71c9dec23f/signaling"} device-1 | {"device":"40271824-8a7d-4c61-813a-ae71c9dec23f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"40271824-8a7d-4c61-813a-ae71c9dec23f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"7a01cdc8-ff48-4345-b8d2-51163d2100b0","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"7a01cdc8-ff48-4345-b8d2-51163d2100b0","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 8675760705412214845 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:y9lb\r\na=ice-pwd:GLvhQVz5ZB5UCZmGhXqVPfhl\r\na=ice-options:trickle\r\na=fingerprint:sha-256 C8:12:22:DB:16:DB:9B:BC:42:A9:2A:6E:19:30:33:CE:17:AE:82:62:D2:74:63:87:41:8C:3D:B4:B9:6F:69:1A\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"7a01cdc8-ff48-4345-b8d2-51163d2100b0","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 5865601207389770629 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:H0CW\r\na=ice-pwd:YDj5QYUY3H27TRAK67mdVOVO\r\na=ice-options:trickle\r\na=fingerprint:sha-256 50:12:61:F6:1B:7D:C8:24:21:90:0C:BE:D9:F9:3B:6A:5F:8F:87:D0:53:89:91:74:57:66:F6:4E:84:7F:20:00\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"40271824-8a7d-4c61-813a-ae71c9dec23f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1926591813 1 udp 2113937151 c911b61e-db67-4111-9bd0-7e17f10f980b.local 33181 typ host generation 0 ufrag H0CW network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"40271824-8a7d-4c61-813a-ae71c9dec23f","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/40271824-8a7d-4c61-813a-ae71c9dec23f'"} device-1 | {"content":{"candidate":"candidate:87250964 1 udp 2113937151 bcb9b231-e79f-4075-9729-b0051721ed04.local 55438 typ host generation 0 ufrag y9lb network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"7a01cdc8-ff48-4345-b8d2-51163d2100b0","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"7a01cdc8-ff48-4345-b8d2-51163d2100b0","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/8ef52afe-7e36-435a-bf52-18c09808fa1f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8ef52afe-7e36-435a-bf52-18c09808fa1f","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"40271824-8a7d-4c61-813a-ae71c9dec23f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"7a01cdc8-ff48-4345-b8d2-51163d2100b0","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"319c009558fa1412c7c216ec71a7034e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"319c009558fa1412c7c216ec71a7034e","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"40271824-8a7d-4c61-813a-ae71c9dec23f","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":"new","url":"http://localhost/devices/40271824-8a7d-4c61-813a-ae71c9dec23f"},{"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/7a01cdc8-ff48-4345-b8d2-51163d2100b0"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/8ef52afe-7e36-435a-bf52-18c09808fa1f"}}},"level":"info","message":"received a callback","requestID":"319c009558fa1412c7c216ec71a7034e"} device-1 | {"device":"7a01cdc8-ff48-4345-b8d2-51163d2100b0","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"40271824-8a7d-4c61-813a-ae71c9dec23f","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":"319c009558fa1412c7c216ec71a7034e","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24: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":"319c009558fa1412c7c216ec71a7034e"} device-1 | {"device":"40271824-8a7d-4c61-813a-ae71c9dec23f","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"8ef52afe-7e36-435a-bf52-18c09808fa1f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"8ef52afe-7e36-435a-bf52-18c09808fa1f","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/8ef52afe-7e36-435a-bf52-18c09808fa1f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8ef52afe-7e36-435a-bf52-18c09808fa1f","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"580fda658538db15ccf2ac37639c3db0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"580fda658538db15ccf2ac37639c3db0","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/40271824-8a7d-4c61-813a-ae71c9dec23f"},{"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/7a01cdc8-ff48-4345-b8d2-51163d2100b0"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/8ef52afe-7e36-435a-bf52-18c09808fa1f"}}},"level":"info","message":"received a callback","requestID":"580fda658538db15ccf2ac37639c3db0"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"b9bc89a0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8ef52afe-7e36-435a-bf52-18c09808fa1f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0157ce94-e438-4e48-8ae1-0b27cc13a0f5","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843066.6863437} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.570697,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8ef52afe-7e36-435a-bf52-18c09808fa1f","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b9bc89a0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/8ef52afe-7e36-435a-bf52-18c09808fa1f","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":"b9bc89a0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"b9bc89a0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /peerconnections/8ef52afe-7e36-435a-bf52-18c09808fa1f 200 7ms","method":"GET","requestID":"b9bc89a0-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/peerconnections/8ef52afe-7e36-435a-bf52-18c09808fa1f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 49ms","method":"POST","requestID":"580fda658538db15ccf2ac37639c3db0","responseTime":49,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24: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.052","http_referrer":"","http_user_agent":"node-fetch","requestID":"580fda658538db15ccf2ac37639c3db0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b9c36770-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F40271824-8a7d-4c61-813a-ae71c9dec23f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bb093239-4fa4-4b36-b693-6e791370bd5b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843066.7312653} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.445995,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/40271824-8a7d-4c61-813a-ae71c9dec23f","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b9c36770-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/40271824-8a7d-4c61-813a-ae71c9dec23f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b9c36770-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b9c36770-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/40271824-8a7d-4c61-813a-ae71c9dec23f/signaling 200 8ms","method":"POST","requestID":"b9c36770-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/40271824-8a7d-4c61-813a-ae71c9dec23f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b9c4ee10-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a01cdc8-ff48-4345-b8d2-51163d2100b0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1df8005a-ca80-49a3-9c9f-597d1806a1d0","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843066.7412367} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.341029,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b9c4ee10-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b9c4ee10-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2Nn0.maheeYxIntFXYwaae4bgbI_VYcpAR5E5YxIFTFGbfvc","level":"info","message":"auth send jwt","requestID":"e768db04e78625d6c66f14172edfd1cb"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e768db04e78625d6c66f14172edfd1cb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b9c4ee10-242b-11f0-a4ab-3996a0934271"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/40b271db-6125-4c15-9d0b-949380882162","requestID":"e768db04e78625d6c66f14172edfd1cb"} device-1 | {"level":"info","message":"POST /devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0/signaling 200 32ms","method":"POST","requestID":"b9c4ee10-242b-11f0-a4ab-3996a0934271","responseTime":32,"status":200,"url":"/devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0/signaling"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.606121,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/40b271db-6125-4c15-9d0b-949380882162","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e768db04e78625d6c66f14172edfd1cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/40b271db-6125-4c15-9d0b-949380882162","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843066,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2Nn0.maheeYxIntFXYwaae4bgbI_VYcpAR5E5YxIFTFGbfvc"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"e768db04e78625d6c66f14172edfd1cb","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/40b271db-6125-4c15-9d0b-949380882162","requestID":"e768db04e78625d6c66f14172edfd1cb"} gateway-1 | {"time_local":"28/Apr/2025:12:24:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/40b271db-6125-4c15-9d0b-949380882162 HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.035","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e768db04e78625d6c66f14172edfd1cb"} experiment-1 | {"level":"info","message":"GET /experiments/40b271db-6125-4c15-9d0b-949380882162 200 7ms","method":"GET","requestID":"e768db04e78625d6c66f14172edfd1cb","responseTime":7,"status":200,"url":"/experiments/40b271db-6125-4c15-9d0b-949380882162"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2Nn0.maheeYxIntFXYwaae4bgbI_VYcpAR5E5YxIFTFGbfvc","level":"info","message":"auth send jwt","requestID":"d9a65c5967ee5ad3f73f8b2628885664"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d9a65c5967ee5ad3f73f8b2628885664","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/40b271db-6125-4c15-9d0b-949380882162","requestID":"d9a65c5967ee5ad3f73f8b2628885664"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.70055,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/40b271db-6125-4c15-9d0b-949380882162","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d9a65c5967ee5ad3f73f8b2628885664","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/40b271db-6125-4c15-9d0b-949380882162","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843066,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2Nn0.maheeYxIntFXYwaae4bgbI_VYcpAR5E5YxIFTFGbfvc"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"d9a65c5967ee5ad3f73f8b2628885664","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40b271db-6125-4c15-9d0b-949380882162"},"level":"info","message":"Attempting to finish experiment","requestID":"d9a65c5967ee5ad3f73f8b2628885664"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"b9ccb640-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.649651,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8ef52afe-7e36-435a-bf52-18c09808fa1f","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b9ccb640-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:http://localhost/peerconnections/8ef52afe-7e36-435a-bf52-18c09808fa1f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843066,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2Nn0.maheeYxIntFXYwaae4bgbI_VYcpAR5E5YxIFTFGbfvc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b9ccb640-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/8ef52afe-7e36-435a-bf52-18c09808fa1f","device":"7a01cdc8-ff48-4345-b8d2-51163d2100b0","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/8ef52afe-7e36-435a-bf52-18c09808fa1f","device":"40271824-8a7d-4c61-813a-ae71c9dec23f","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/8ef52afe-7e36-435a-bf52-18c09808fa1f' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/8ef52afe-7e36-435a-bf52-18c09808fa1f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8ef52afe-7e36-435a-bf52-18c09808fa1f","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8ef52afe-7e36-435a-bf52-18c09808fa1f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8ef52afe-7e36-435a-bf52-18c09808fa1f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"b71706d4-d488-4d69-868b-be93f5a6c859","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843066.829436} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8a26a5cb-1a13-4bb9-8e2a-f703ae3536b2","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843066.8296342} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d47cc53fadb083af2e893c4aacb79d29","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d47cc53fadb083af2e893c4aacb79d29","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4fec8953e3bd64fcd913b410d75abe0f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"b9ccb640-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"4fec8953e3bd64fcd913b410d75abe0f","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/40271824-8a7d-4c61-813a-ae71c9dec23f"},{"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/7a01cdc8-ff48-4345-b8d2-51163d2100b0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8ef52afe-7e36-435a-bf52-18c09808fa1f"}}},"level":"info","message":"received a callback","requestID":"d47cc53fadb083af2e893c4aacb79d29"} 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/40271824-8a7d-4c61-813a-ae71c9dec23f"},{"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/7a01cdc8-ff48-4345-b8d2-51163d2100b0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8ef52afe-7e36-435a-bf52-18c09808fa1f"}}},"level":"info","message":"received a callback","requestID":"4fec8953e3bd64fcd913b410d75abe0f"} device-1 | {"data":{"peerconnection":"8ef52afe-7e36-435a-bf52-18c09808fa1f","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"b9ccb640-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"DELETE /peerconnections/8ef52afe-7e36-435a-bf52-18c09808fa1f 204 81ms","method":"DELETE","requestID":"b9ccb640-242b-11f0-a4ab-3996a0934271","responseTime":81,"status":204,"url":"/peerconnections/8ef52afe-7e36-435a-bf52-18c09808fa1f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40b271db-6125-4c15-9d0b-949380882162"},"level":"info","message":"Successfully finished experiment","requestID":"d9a65c5967ee5ad3f73f8b2628885664"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b9db5c40-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F40271824-8a7d-4c61-813a-ae71c9dec23f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9e6c564e-a415-4de9-91bc-cfa98014adf0","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843066.8886347} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.29383,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/40271824-8a7d-4c61-813a-ae71c9dec23f","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b9db5c40-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/40271824-8a7d-4c61-813a-ae71c9dec23f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b9db5c40-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b9db5c40-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/40271824-8a7d-4c61-813a-ae71c9dec23f/signaling 200 30ms","method":"POST","requestID":"b9db5c40-242b-11f0-a4ab-3996a0934271","responseTime":30,"status":200,"url":"/devices/40271824-8a7d-4c61-813a-ae71c9dec23f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b9e03e40-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a01cdc8-ff48-4345-b8d2-51163d2100b0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"37432f08-6805-4e8c-8daf-2c7452d31582","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843066.9201238} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.388402,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b9e03e40-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0","object_type":"device","rebac_allow":false,"scope_allow":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":"b9e03e40-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F40b271db-6125-4c15-9d0b-949380882162': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F40b271db-6125-4c15-9d0b-949380882162","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"515c211a-dcf7-4b69-8627-fa9ff19df141","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843066.920827} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"10a63338-9873-4bc2-b81f-85b2f49034df","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843066.9211597} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"d9a65c5967ee5ad3f73f8b2628885664","responseTime":40,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b9e03e40-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0/signaling 200 8ms","method":"POST","requestID":"b9e03e40-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/7a01cdc8-ff48-4345-b8d2-51163d2100b0/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/40b271db-6125-4c15-9d0b-949380882162","requestID":"d9a65c5967ee5ad3f73f8b2628885664"} gateway-1 | {"time_local":"28/Apr/2025:12:24:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/40b271db-6125-4c15-9d0b-949380882162 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.239","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d9a65c5967ee5ad3f73f8b2628885664"} experiment-1 | {"level":"info","message":"DELETE /experiments/40b271db-6125-4c15-9d0b-949380882162 204 236ms","method":"DELETE","requestID":"d9a65c5967ee5ad3f73f8b2628885664","responseTime":236,"status":204,"url":"/experiments/40b271db-6125-4c15-9d0b-949380882162"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 187ms","method":"POST","requestID":"d47cc53fadb083af2e893c4aacb79d29","responseTime":187,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.189","http_referrer":"","http_user_agent":"node-fetch","requestID":"d47cc53fadb083af2e893c4aacb79d29"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 187ms","method":"POST","requestID":"4fec8953e3bd64fcd913b410d75abe0f","responseTime":187,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.190","http_referrer":"","http_user_agent":"node-fetch","requestID":"4fec8953e3bd64fcd913b410d75abe0f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2N30.LfHqu0BnV9Pi7EP4r-o8u_-b-AoC2xqXQA3KPvbDwtI","level":"info","message":"auth send jwt","requestID":"243638d3a5c390591c3599719da75a10"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"243638d3a5c390591c3599719da75a10","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"243638d3a5c390591c3599719da75a10"} gateway-1 | {"time_local":"28/Apr/2025:12:24:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2576","request_time":"0.940","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0b3f535c6a37220334cb91670ba006c6"} gateway-1 | {"time_local":"28/Apr/2025:12:24:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2580","request_time":"0.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":"957aeda96299eaa8d03a3dd074c550c9"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:27Z"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.071356,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"243638d3a5c390591c3599719da75a10","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843067,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2N30.LfHqu0BnV9Pi7EP4r-o8u_-b-AoC2xqXQA3KPvbDwtI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"243638d3a5c390591c3599719da75a10","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/7a01cdc8-ff48-4345-b8d2-51163d2100b0' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/40271824-8a7d-4c61-813a-ae71c9dec23f' 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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e7f773f-76e5-4ea2-9eb0-4f424513dad9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a40026b5-653e-46e7-a2af-096e17ecf0e9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843067.0675569} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"243638d3a5c390591c3599719da75a10","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"134cb5ab-7080-4a29-bb4a-695805601cd1","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843067.0710967} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"243638d3a5c390591c3599719da75a10","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e7f773f-76e5-4ea2-9eb0-4f424513dad9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"a337fb9b-6160-4aca-a752-dc827ff8729f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843067.0805342} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1f123574-9b28-414e-a66a-b8a81f0000fb","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843067.1049492} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"243638d3a5c390591c3599719da75a10","responseTime":36,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e7f773f-76e5-4ea2-9eb0-4f424513dad9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e7f773f-76e5-4ea2-9eb0-4f424513dad9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:27.080497772Z"}]},"request_id":"4f0ab4ec-74b7-48a1-82ee-edb75d5a3dd9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843067.1091359} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"243638d3a5c390591c3599719da75a10","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"243638d3a5c390591c3599719da75a10"} device-1 | {"level":"info","message":"POST /devices? 201 88ms","method":"POST","requestID":"243638d3a5c390591c3599719da75a10","responseTime":88,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:24:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.092","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"243638d3a5c390591c3599719da75a10"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2N30.LfHqu0BnV9Pi7EP4r-o8u_-b-AoC2xqXQA3KPvbDwtI","level":"info","message":"auth send jwt","requestID":"bfa78e07b70ba6647152674138681f06"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bfa78e07b70ba6647152674138681f06","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"bfa78e07b70ba6647152674138681f06"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:27Z"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.693519,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bfa78e07b70ba6647152674138681f06","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843067,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2N30.LfHqu0BnV9Pi7EP4r-o8u_-b-AoC2xqXQA3KPvbDwtI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bfa78e07b70ba6647152674138681f06","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"180c64f6-4842-42ad-ac0f-76e5bd0af47d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843067.1297429} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bfa78e07b70ba6647152674138681f06","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e41fa3c4-9ad8-4519-b10f-28a93c8dcb22","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843067.1574724} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"bfa78e07b70ba6647152674138681f06","responseTime":27,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"c7ff6445-e646-44f6-9cdf-3802e88cba63","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843067.1695726} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"79b6f0e3-6c7e-4f2f-8520-08ea0dc75318","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843067.169705} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"bfa78e07b70ba6647152674138681f06","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:27.169555343Z"}]},"request_id":"e00d88ec-d404-4111-b3d0-00d0352041a9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843067.172908} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bfa78e07b70ba6647152674138681f06","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"bfa78e07b70ba6647152674138681f06"} gateway-1 | {"time_local":"28/Apr/2025:12:24:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bfa78e07b70ba6647152674138681f06"} device-1 | {"level":"info","message":"POST /devices? 201 59ms","method":"POST","requestID":"bfa78e07b70ba6647152674138681f06","responseTime":59,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1d6680165c2fc5a3e347d38ce94b0788","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"1d6680165c2fc5a3e347d38ce94b0788","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5e347e16d364f475f3e52b0b29d20719","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} gateway-1 | {"time_local":"28/Apr/2025:12:24:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9/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":"1d6680165c2fc5a3e347d38ce94b0788"} device-1 | {"level":"info","message":"OPTIONS /devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9/websocket 200 2ms","method":"OPTIONS","requestID":"1d6680165c2fc5a3e347d38ce94b0788","responseTime":2,"status":200,"url":"/devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9/websocket"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5e347e16d364f475f3e52b0b29d20719","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:24:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e/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":"5e347e16d364f475f3e52b0b29d20719"} device-1 | {"level":"info","message":"OPTIONS /devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e/websocket 200 2ms","method":"OPTIONS","requestID":"5e347e16d364f475f3e52b0b29d20719","responseTime":2,"status":200,"url":"/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2OX0.UqckAgKMFyJtPzljYywPJkjxNHAMYpHg2ey9hmz3xmA","level":"info","message":"auth send jwt","requestID":"67bec2be4cea316508863ed9382b936d"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"67bec2be4cea316508863ed9382b936d","responseTime":6,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2OX0.UqckAgKMFyJtPzljYywPJkjxNHAMYpHg2ey9hmz3xmA","level":"info","message":"auth send jwt","requestID":"337bd1bb5d2b3e355b1ecba224e74b22"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"67bec2be4cea316508863ed9382b936d"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"337bd1bb5d2b3e355b1ecba224e74b22","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"337bd1bb5d2b3e355b1ecba224e74b22"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:29Z"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.244949,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:29Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:29Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"67bec2be4cea316508863ed9382b936d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843069,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2OX0.UqckAgKMFyJtPzljYywPJkjxNHAMYpHg2ey9hmz3xmA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"67bec2be4cea316508863ed9382b936d","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.540748,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:29Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"337bd1bb5d2b3e355b1ecba224e74b22","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843069,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2OX0.UqckAgKMFyJtPzljYywPJkjxNHAMYpHg2ey9hmz3xmA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"337bd1bb5d2b3e355b1ecba224e74b22","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"337bd1bb5d2b3e355b1ecba224e74b22"} device-1 | {"level":"info","message":"POST /devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e/websocket 200 18ms","method":"POST","requestID":"337bd1bb5d2b3e355b1ecba224e74b22","responseTime":18,"status":200,"url":"/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:24:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e/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":"337bd1bb5d2b3e355b1ecba224e74b22"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"67bec2be4cea316508863ed9382b936d"} device-1 | {"level":"info","message":"POST /devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9/websocket 200 31ms","method":"POST","requestID":"67bec2be4cea316508863ed9382b936d","responseTime":31,"status":200,"url":"/devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:24:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.040","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"67bec2be4cea316508863ed9382b936d"} device-1 | {"level":"info","message":"device 'http://localhost/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2OX0.UqckAgKMFyJtPzljYywPJkjxNHAMYpHg2ey9hmz3xmA","level":"info","message":"auth send jwt","requestID":"05ca5b056f34c7e0c5301d7250a0cd15"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"05ca5b056f34c7e0c5301d7250a0cd15","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"05ca5b056f34c7e0c5301d7250a0cd15"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:29Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.820363,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"05ca5b056f34c7e0c5301d7250a0cd15","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843069,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2OX0.UqckAgKMFyJtPzljYywPJkjxNHAMYpHg2ey9hmz3xmA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"05ca5b056f34c7e0c5301d7250a0cd15","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e7f773f-76e5-4ea2-9eb0-4f424513dad9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e7f773f-76e5-4ea2-9eb0-4f424513dad9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:27.080497772Z"}]},"request_id":"5a466df2-c4e0-451e-a051-fd263cc21c18","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843069.4330897} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"05ca5b056f34c7e0c5301d7250a0cd15","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"05ca5b056f34c7e0c5301d7250a0cd15"} gateway-1 | {"time_local":"28/Apr/2025:12:24:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9? 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":"05ca5b056f34c7e0c5301d7250a0cd15"} device-1 | {"level":"info","message":"GET /devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9? 200 12ms","method":"GET","requestID":"05ca5b056f34c7e0c5301d7250a0cd15","responseTime":12,"status":200,"url":"/devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2OX0.UqckAgKMFyJtPzljYywPJkjxNHAMYpHg2ey9hmz3xmA","level":"info","message":"auth send jwt","requestID":"9f5d9a43761099e2a7b31fae9ef03c9c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9f5d9a43761099e2a7b31fae9ef03c9c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9f5d9a43761099e2a7b31fae9ef03c9c"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:29Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.702574,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9f5d9a43761099e2a7b31fae9ef03c9c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843069,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2OX0.UqckAgKMFyJtPzljYywPJkjxNHAMYpHg2ey9hmz3xmA"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"9f5d9a43761099e2a7b31fae9ef03c9c","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:27.169555343Z"}]},"request_id":"a07f23c6-32f5-496c-8f97-8f311c334376","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843069.4467006} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9f5d9a43761099e2a7b31fae9ef03c9c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9f5d9a43761099e2a7b31fae9ef03c9c"} gateway-1 | {"time_local":"28/Apr/2025:12:24:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9f5d9a43761099e2a7b31fae9ef03c9c"} device-1 | {"level":"info","message":"GET /devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e? 200 11ms","method":"GET","requestID":"9f5d9a43761099e2a7b31fae9ef03c9c","responseTime":11,"status":200,"url":"/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2OX0.UqckAgKMFyJtPzljYywPJkjxNHAMYpHg2ey9hmz3xmA","level":"info","message":"auth send jwt","requestID":"28e4d6b24feebbe8600b40e3af563248"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"28e4d6b24feebbe8600b40e3af563248","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"28e4d6b24feebbe8600b40e3af563248"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:29Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.671513,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"28e4d6b24feebbe8600b40e3af563248","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843069,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2OX0.UqckAgKMFyJtPzljYywPJkjxNHAMYpHg2ey9hmz3xmA"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"28e4d6b24feebbe8600b40e3af563248","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb"},"level":"info","message":"Attempting to run experiment","requestID":"28e4d6b24feebbe8600b40e3af563248"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb"},"level":"info","message":"Attempting to book experiment","requestID":"28e4d6b24feebbe8600b40e3af563248"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb"},"level":"info","message":"Successfully booked experiment","requestID":"28e4d6b24feebbe8600b40e3af563248"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bb67efb0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bb6816c0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:29Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.451613,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bb67efb0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843069,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2OX0.UqckAgKMFyJtPzljYywPJkjxNHAMYpHg2ey9hmz3xmA"} authorization-1 | {"level":"info","message":"POST /authorize 200 24ms","method":"POST","requestID":"bb67efb0-242b-11f0-a4ab-3996a0934271","responseTime":24,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:29Z"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.126898,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bb6816c0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843069,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2OX0.UqckAgKMFyJtPzljYywPJkjxNHAMYpHg2ey9hmz3xmA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bb6816c0-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e7f773f-76e5-4ea2-9eb0-4f424513dad9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e7f773f-76e5-4ea2-9eb0-4f424513dad9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:27.080497772Z"}]},"request_id":"751f3dc9-4495-41dd-b38b-5ae2e6448f9f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843069.5117064} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bb67efb0-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:27.169555343Z"}]},"request_id":"cfb64aca-848e-4e18-aa58-83bcd1944a53","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843069.5122533} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bb6816c0-242b-11f0-a4ab-3996a0934271","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bb67efb0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9? 200 32ms","method":"GET","requestID":"bb67efb0-242b-11f0-a4ab-3996a0934271","responseTime":32,"status":200,"url":"/devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bb6816c0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e? 200 32ms","method":"GET","requestID":"bb6816c0-242b-11f0-a4ab-3996a0934271","responseTime":32,"status":200,"url":"/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb"},"level":"info","message":"Setting up experiment","requestID":"28e4d6b24feebbe8600b40e3af563248"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"28e4d6b24feebbe8600b40e3af563248"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb"},"level":"info","message":"Successfully locked booking for experiment","requestID":"28e4d6b24feebbe8600b40e3af563248"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"28e4d6b24feebbe8600b40e3af563248"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"28e4d6b24feebbe8600b40e3af563248"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb"},"level":"info","message":"Attempting to update booking for experiment","requestID":"28e4d6b24feebbe8600b40e3af563248"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb"},"level":"info","message":"Successfully updated booking for experiment","requestID":"28e4d6b24feebbe8600b40e3af563248"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb"},"level":"info","message":"Successfully set up experiment","requestID":"28e4d6b24feebbe8600b40e3af563248"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bb7a6640-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bb7ab460-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:29Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb"},"level":"info","message":"Successfully running experiment","requestID":"28e4d6b24feebbe8600b40e3af563248"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bb7b0280-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.893004,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:29Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bb7a6640-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843069,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2OX0.UqckAgKMFyJtPzljYywPJkjxNHAMYpHg2ey9hmz3xmA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bb7a6640-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.767765,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bb7ab460-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843069,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2OX0.UqckAgKMFyJtPzljYywPJkjxNHAMYpHg2ey9hmz3xmA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"bb7ab460-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:29Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e7f773f-76e5-4ea2-9eb0-4f424513dad9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"426fd3ca-c134-4ddc-a506-47ed130687fa","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843069.6161664} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.4128,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bb7b0280-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9","object_type":"device","rebac_allow":false,"scope_allow":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":"bb7b0280-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e7f773f-76e5-4ea2-9eb0-4f424513dad9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e7f773f-76e5-4ea2-9eb0-4f424513dad9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:27.080497772Z"}]},"request_id":"5ddf0d8a-1a34-4471-ba39-0e7857a58985","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843069.617569} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:27.169555343Z"}]},"request_id":"8a551afd-3904-4628-a604-46cfa39c4a32","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843069.619189} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"bb7a6640-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"bb7ab460-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb#owner@http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"9e2877c3-d65d-481e-966e-88cb03f9bb95","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843069.6237237} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a5c76e43-3a78-4910-970b-f12d8e075f15","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843069.6239614} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"28e4d6b24feebbe8600b40e3af563248","responseTime":39,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bb7b0280-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9/signaling 200 43ms","method":"POST","requestID":"bb7b0280-242b-11f0-a4ab-3996a0934271","responseTime":43,"status":200,"url":"/devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bb7a6640-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9? 200 48ms","method":"GET","requestID":"bb7a6640-242b-11f0-a4ab-3996a0934271","responseTime":48,"status":200,"url":"/devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bb7ab460-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e? 200 48ms","method":"GET","requestID":"bb7ab460-242b-11f0-a4ab-3996a0934271","responseTime":48,"status":200,"url":"/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bb822e70-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:29Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb","user":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"28e4d6b24feebbe8600b40e3af563248"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bb82a3a0-242b-11f0-a4ab-3996a0934271"} gateway-1 | {"time_local":"28/Apr/2025:12:24:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.208","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"28e4d6b24feebbe8600b40e3af563248"} experiment-1 | {"level":"info","message":"POST /experiments? 201 205ms","method":"POST","requestID":"28e4d6b24feebbe8600b40e3af563248","responseTime":205,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4898cb55-7cb6-4fea-bae1-55447c564095","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843069.6603498} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.780009,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:29Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bb822e70-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","object_type":"device","rebac_allow":false,"scope_allow":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":"bb822e70-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2OX0.UqckAgKMFyJtPzljYywPJkjxNHAMYpHg2ey9hmz3xmA","level":"info","message":"auth send jwt","requestID":"5bf66d499db6cc6102ce7b53285ab9fd"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e7f773f-76e5-4ea2-9eb0-4f424513dad9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a88df8e7-c21c-462e-85e0-e2c43d66f20e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843069.6649275} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5bf66d499db6cc6102ce7b53285ab9fd","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.166781,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bb82a3a0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5bf66d499db6cc6102ce7b53285ab9fd"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"bb82a3a0-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:29Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.807334,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:29Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bb822e70-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e/signaling 200 16ms","method":"POST","requestID":"bb822e70-242b-11f0-a4ab-3996a0934271","responseTime":16,"status":200,"url":"/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"5bf66d499db6cc6102ce7b53285ab9fd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843069,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2OX0.UqckAgKMFyJtPzljYywPJkjxNHAMYpHg2ey9hmz3xmA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5bf66d499db6cc6102ce7b53285ab9fd","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bb82a3a0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9/signaling 200 41ms","method":"POST","requestID":"bb82a3a0-242b-11f0-a4ab-3996a0934271","responseTime":41,"status":200,"url":"/devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9/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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e7f773f-76e5-4ea2-9eb0-4f424513dad9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e7f773f-76e5-4ea2-9eb0-4f424513dad9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:27.080497772Z"}]},"request_id":"368863ee-011a-4861-8ff1-5d5f8d8824cd","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843069.7002094} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5bf66d499db6cc6102ce7b53285ab9fd","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bb893350-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:29Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5bf66d499db6cc6102ce7b53285ab9fd"} device-1 | {"level":"info","message":"GET /devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9? 200 40ms","method":"GET","requestID":"5bf66d499db6cc6102ce7b53285ab9fd","responseTime":40,"status":200,"url":"/devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9?"} gateway-1 | {"time_local":"28/Apr/2025:12:24:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5bf66d499db6cc6102ce7b53285ab9fd"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7d3fa3d1-fc32-4386-9e08-28eadcb85d2b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843069.707608} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.352507,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bb893350-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"bb893350-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2OX0.UqckAgKMFyJtPzljYywPJkjxNHAMYpHg2ey9hmz3xmA","level":"info","message":"auth send jwt","requestID":"ed99288f9481d1ca429597352920db6c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ed99288f9481d1ca429597352920db6c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ed99288f9481d1ca429597352920db6c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bb893350-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e/signaling 200 11ms","method":"POST","requestID":"bb893350-242b-11f0-a4ab-3996a0934271","responseTime":11,"status":200,"url":"/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e/signaling"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:29Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.780611,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:29Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"28e4d6b24feebbe8600b40e3af563248"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb"},"level":"info","message":"Building connection plan","requestID":"28e4d6b24feebbe8600b40e3af563248"} 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":"03f3a95f-cbe7-4381-a4f4-7d1161997659"},{"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":"582168ba-3da1-4f54-8cbf-02ad6d479a42"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"790f3bb5-afd3-4076-bd22-8983dc9bd99b"}]},"level":"info","message":"Built pairwise service configurations","requestID":"28e4d6b24feebbe8600b40e3af563248"} 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/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e"},{"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/9e7f773f-76e5-4ea2-9eb0-4f424513dad9"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"28e4d6b24feebbe8600b40e3af563248"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ed99288f9481d1ca429597352920db6c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843069,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2OX0.UqckAgKMFyJtPzljYywPJkjxNHAMYpHg2ey9hmz3xmA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ed99288f9481d1ca429597352920db6c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"bb8b5630-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:29Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.619169,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bb8b5630-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843069,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA2OX0.UqckAgKMFyJtPzljYywPJkjxNHAMYpHg2ey9hmz3xmA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bb8b5630-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:27.169555343Z"}]},"request_id":"ea478022-1c05-4f71-9f07-7e29603dfcc2","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843069.7188141} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ed99288f9481d1ca429597352920db6c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ed99288f9481d1ca429597352920db6c"} device-1 | {"level":"info","message":"GET /devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e? 200 36ms","method":"GET","requestID":"ed99288f9481d1ca429597352920db6c","responseTime":36,"status":200,"url":"/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e?"} gateway-1 | {"time_local":"28/Apr/2025:12:24:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ed99288f9481d1ca429597352920db6c"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","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%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"1bffac9f-ca17-4935-89c2-5fe68b5121d3","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843069.7522552} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1d9f143c-9ec4-4d5f-9e18-6a1141beaf00","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843069.7524242} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"bb8b5630-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"bb8b5630-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"bb8b5630-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/6f4ba5bd-78ec-4430-87f7-e0ff14a0ff86'","requestID":"bb8b5630-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/6f4ba5bd-78ec-4430-87f7-e0ff14a0ff86'","requestID":"bb8b5630-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"bb8b5630-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 48ms","method":"POST","requestID":"bb8b5630-242b-11f0-a4ab-3996a0934271","responseTime":48,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"bb8b5630-242b-11f0-a4ab-3996a0934271"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/6f4ba5bd-78ec-4430-87f7-e0ff14a0ff86","device":"9e7f773f-76e5-4ea2-9eb0-4f424513dad9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/6f4ba5bd-78ec-4430-87f7-e0ff14a0ff86","device":"bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","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/02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"28e4d6b24feebbe8600b40e3af563248"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bb9a9870-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:29Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e7f773f-76e5-4ea2-9eb0-4f424513dad9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b7eb8afe-8fa7-4bff-af8b-8f78a8fefd5f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843069.8440554} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.696841,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bb9a9870-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"bb9a9870-242b-11f0-a4ab-3996a0934271","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"device":"bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bb9a9870-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9/signaling 200 35ms","method":"POST","requestID":"bb9a9870-242b-11f0-a4ab-3996a0934271","responseTime":35,"status":200,"url":"/devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bba03dc0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:29Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d3989002-90e4-478c-994e-9dc6362f34fe","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843069.8558095} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.08568,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bba03dc0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","object_type":"device","rebac_allow":false,"scope_allow":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":"bba03dc0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bba03dc0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e/signaling 200 7ms","method":"POST","requestID":"bba03dc0-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e/signaling"} device-1 | {"device":"9e7f773f-76e5-4ea2-9eb0-4f424513dad9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"9e7f773f-76e5-4ea2-9eb0-4f424513dad9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 8687729857148740071 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:r3u0\r\na=ice-pwd:9fXvtVKhEJup6Zgur4RNMC40\r\na=ice-options:trickle\r\na=fingerprint:sha-256 7B:A2:D8:CD:78:6A:A4:7D:3D:33:B1:B8:3F:88:4F:2A:AF:F8:6A:04:F7:B7:74:52:C6:3B:9B:20:20:04:67:F3\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"9e7f773f-76e5-4ea2-9eb0-4f424513dad9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 7645736773134889326 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:zwHb\r\na=ice-pwd:xJBBv1l4dBnEtwyV7/GCbqI2\r\na=ice-options:trickle\r\na=fingerprint:sha-256 A7:9C:30:BB:EB:8A:3C:68:37:D4:CF:AA:A6:99:39:BC:55:37:9F:00:79:1C:DA:3F:A4:14:E8:BF:DC:E3:50:4E\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3631447367 1 udp 2113937151 767721b1-b7ed-430e-aad3-69bf31528670.local 35258 typ host generation 0 ufrag zwHb network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","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/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e'"} device-1 | {"content":{"candidate":"candidate:480110218 1 udp 2113937151 a979ab13-9dbc-464d-ab28-f5cd0f51377f.local 40854 typ host generation 0 ufrag r3u0 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"9e7f773f-76e5-4ea2-9eb0-4f424513dad9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"9e7f773f-76e5-4ea2-9eb0-4f424513dad9","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/6f4ba5bd-78ec-4430-87f7-e0ff14a0ff86' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6f4ba5bd-78ec-4430-87f7-e0ff14a0ff86","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"9e7f773f-76e5-4ea2-9eb0-4f424513dad9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b97c5aee912a0a68917f780d83da35e7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b97c5aee912a0a68917f780d83da35e7","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e"},{"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/9e7f773f-76e5-4ea2-9eb0-4f424513dad9"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/6f4ba5bd-78ec-4430-87f7-e0ff14a0ff86"}}},"level":"info","message":"received a callback","requestID":"b97c5aee912a0a68917f780d83da35e7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"b97c5aee912a0a68917f780d83da35e7","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch","requestID":"b97c5aee912a0a68917f780d83da35e7"} device-1 | {"device":"9e7f773f-76e5-4ea2-9eb0-4f424513dad9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"6f4ba5bd-78ec-4430-87f7-e0ff14a0ff86","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"6f4ba5bd-78ec-4430-87f7-e0ff14a0ff86","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/6f4ba5bd-78ec-4430-87f7-e0ff14a0ff86' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6f4ba5bd-78ec-4430-87f7-e0ff14a0ff86","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"03baa255fab57616b59802fe9cedc612","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"03baa255fab57616b59802fe9cedc612","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e"},{"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/9e7f773f-76e5-4ea2-9eb0-4f424513dad9"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/6f4ba5bd-78ec-4430-87f7-e0ff14a0ff86"}}},"level":"info","message":"received a callback","requestID":"03baa255fab57616b59802fe9cedc612"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"bbb5e8a0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:29Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6f4ba5bd-78ec-4430-87f7-e0ff14a0ff86","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c1d7281d-b153-45e5-b072-ec5e202d63b4","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843069.999032} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.36192,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6f4ba5bd-78ec-4430-87f7-e0ff14a0ff86","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bbb5e8a0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/6f4ba5bd-78ec-4430-87f7-e0ff14a0ff86","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":"bbb5e8a0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"bbb5e8a0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /peerconnections/6f4ba5bd-78ec-4430-87f7-e0ff14a0ff86 200 9ms","method":"GET","requestID":"bbb5e8a0-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/peerconnections/6f4ba5bd-78ec-4430-87f7-e0ff14a0ff86"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 52ms","method":"POST","requestID":"03baa255fab57616b59802fe9cedc612","responseTime":52,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch","requestID":"03baa255fab57616b59802fe9cedc612"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bbbd62b0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:30Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"abaa2580-3090-4cad-865f-16944dc3dc9f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843070.047155} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.052316,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bbbd62b0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","object_type":"device","rebac_allow":false,"scope_allow":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":"bbbd62b0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bbbd62b0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e/signaling 200 7ms","method":"POST","requestID":"bbbd62b0-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bbbee950-242b-11f0-a4ab-3996a0934271"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3MH0.CHyRz9SE-SBX2_cM-XzujRak9Eqal0p6wW2WZoC832U","level":"info","message":"auth send jwt","requestID":"971896bd2c81ab25379be87e122bab18"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"971896bd2c81ab25379be87e122bab18","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb","requestID":"971896bd2c81ab25379be87e122bab18"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:30Z"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:30Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e7f773f-76e5-4ea2-9eb0-4f424513dad9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8453ebac-3b3b-4493-917d-73f5fb830cf8","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843070.0814896} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":24.800174,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"971896bd2c81ab25379be87e122bab18","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843070,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3MH0.CHyRz9SE-SBX2_cM-XzujRak9Eqal0p6wW2WZoC832U"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"971896bd2c81ab25379be87e122bab18","responseTime":26,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.425281,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bbbee950-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"bbbee950-242b-11f0-a4ab-3996a0934271","responseTime":29,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"28/Apr/2025:12:24:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"971896bd2c81ab25379be87e122bab18"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bbbee950-242b-11f0-a4ab-3996a0934271"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb","requestID":"971896bd2c81ab25379be87e122bab18"} experiment-1 | {"level":"info","message":"GET /experiments/02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb 200 33ms","method":"GET","requestID":"971896bd2c81ab25379be87e122bab18","responseTime":33,"status":200,"url":"/experiments/02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb"} device-1 | {"level":"info","message":"POST /devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9/signaling 200 33ms","method":"POST","requestID":"bbbee950-242b-11f0-a4ab-3996a0934271","responseTime":33,"status":200,"url":"/devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3MH0.CHyRz9SE-SBX2_cM-XzujRak9Eqal0p6wW2WZoC832U","level":"info","message":"auth send jwt","requestID":"280083885dd43143ce69954f91dc3421"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"280083885dd43143ce69954f91dc3421","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb","requestID":"280083885dd43143ce69954f91dc3421"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:30Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.285429,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:30Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"280083885dd43143ce69954f91dc3421","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843070,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3MH0.CHyRz9SE-SBX2_cM-XzujRak9Eqal0p6wW2WZoC832U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"280083885dd43143ce69954f91dc3421","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb"},"level":"info","message":"Attempting to finish experiment","requestID":"280083885dd43143ce69954f91dc3421"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"bbc63c50-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:30Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.646939,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:30Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6f4ba5bd-78ec-4430-87f7-e0ff14a0ff86","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bbc63c50-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:http://localhost/peerconnections/6f4ba5bd-78ec-4430-87f7-e0ff14a0ff86","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843070,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3MH0.CHyRz9SE-SBX2_cM-XzujRak9Eqal0p6wW2WZoC832U"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"bbc63c50-242b-11f0-a4ab-3996a0934271","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/6f4ba5bd-78ec-4430-87f7-e0ff14a0ff86","device":"bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/6f4ba5bd-78ec-4430-87f7-e0ff14a0ff86","device":"9e7f773f-76e5-4ea2-9eb0-4f424513dad9","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/6f4ba5bd-78ec-4430-87f7-e0ff14a0ff86' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/6f4ba5bd-78ec-4430-87f7-e0ff14a0ff86' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6f4ba5bd-78ec-4430-87f7-e0ff14a0ff86","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6f4ba5bd-78ec-4430-87f7-e0ff14a0ff86': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6f4ba5bd-78ec-4430-87f7-e0ff14a0ff86","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"b98e0d39-1e0b-44eb-bde8-94d8f655623f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843070.1387568} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"030475a1405847e4f132bfdec950da27","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b062cefc-6c0d-42cc-9502-9c181ce5683a","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843070.1393392} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"030475a1405847e4f132bfdec950da27","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"01ffa0aaf949081616d354fafd33c28e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"01ffa0aaf949081616d354fafd33c28e","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"bbc63c50-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e"},{"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/9e7f773f-76e5-4ea2-9eb0-4f424513dad9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6f4ba5bd-78ec-4430-87f7-e0ff14a0ff86"}}},"level":"info","message":"received a callback","requestID":"01ffa0aaf949081616d354fafd33c28e"} 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/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e"},{"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/9e7f773f-76e5-4ea2-9eb0-4f424513dad9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6f4ba5bd-78ec-4430-87f7-e0ff14a0ff86"}}},"level":"info","message":"received a callback","requestID":"030475a1405847e4f132bfdec950da27"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"bbc63c50-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"DELETE /peerconnections/6f4ba5bd-78ec-4430-87f7-e0ff14a0ff86 204 49ms","method":"DELETE","requestID":"bbc63c50-242b-11f0-a4ab-3996a0934271","responseTime":49,"status":204,"url":"/peerconnections/6f4ba5bd-78ec-4430-87f7-e0ff14a0ff86"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb"},"level":"info","message":"Successfully finished experiment","requestID":"280083885dd43143ce69954f91dc3421"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bbd382c0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:30Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b92e69db-a6b7-4c21-b40a-2ccd1828ecbc","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843070.1921504} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.518701,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bbd382c0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e","object_type":"device","rebac_allow":false,"scope_allow":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":"bbd382c0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bbd382c0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e/signaling 200 8ms","method":"POST","requestID":"bbd382c0-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bbd4e250-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:30Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"7d38e422-93a2-4205-8aaf-6b07fe83367f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843070.225856} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e7f773f-76e5-4ea2-9eb0-4f424513dad9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"585f9068-be72-4663-9907-e1848c3a1948","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843070.2258773} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"139dec7d-db8a-4bad-9c28-ef36e5ef6c7e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843070.2263145} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.74995,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bbd4e250-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"bbd4e250-242b-11f0-a4ab-3996a0934271","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","method":"POST","requestID":"280083885dd43143ce69954f91dc3421","responseTime":42,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bbd4e250-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9/signaling 200 34ms","method":"POST","requestID":"bbd4e250-242b-11f0-a4ab-3996a0934271","responseTime":34,"status":200,"url":"/devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb","requestID":"280083885dd43143ce69954f91dc3421"} gateway-1 | {"time_local":"28/Apr/2025:12:24:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.235","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"280083885dd43143ce69954f91dc3421"} experiment-1 | {"level":"info","message":"DELETE /experiments/02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb 204 233ms","method":"DELETE","requestID":"280083885dd43143ce69954f91dc3421","responseTime":233,"status":204,"url":"/experiments/02ef63f8-0f17-4c3a-b3f7-be3b4fed6ebb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 184ms","method":"POST","requestID":"01ffa0aaf949081616d354fafd33c28e","responseTime":184,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.188","http_referrer":"","http_user_agent":"node-fetch","requestID":"01ffa0aaf949081616d354fafd33c28e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 183ms","method":"POST","requestID":"030475a1405847e4f132bfdec950da27","responseTime":183,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.189","http_referrer":"","http_user_agent":"node-fetch","requestID":"030475a1405847e4f132bfdec950da27"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3MH0.CHyRz9SE-SBX2_cM-XzujRak9Eqal0p6wW2WZoC832U","level":"info","message":"auth send jwt","requestID":"e3c00e4a94f15af2c61b84b289d7e55b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e3c00e4a94f15af2c61b84b289d7e55b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e3c00e4a94f15af2c61b84b289d7e55b"} gateway-1 | {"time_local":"28/Apr/2025:12:24:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2580","request_time":"0.930","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"38ec025868c6c9783a6537ac476c1bca"} gateway-1 | {"time_local":"28/Apr/2025:12:24:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2577","request_time":"0.941","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3bd169ba93f5be389e1d8684c0e35343"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/bce3d7a0-f7ad-48a2-a4c8-1d525a1ecc0e' closed"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:30Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.87284,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e3c00e4a94f15af2c61b84b289d7e55b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843070,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3MH0.CHyRz9SE-SBX2_cM-XzujRak9Eqal0p6wW2WZoC832U"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"e3c00e4a94f15af2c61b84b289d7e55b","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9e7f773f-76e5-4ea2-9eb0-4f424513dad9' 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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7547c435-4a1e-4db7-9a86-89cb85277fd3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4337d7c9-b7e3-42a1-83d8-d5d53fc7e034","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843070.3771896} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e3c00e4a94f15af2c61b84b289d7e55b","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f75ece55-d922-44b1-b84b-e9f4728da6e6","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843070.3810375} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"e3c00e4a94f15af2c61b84b289d7e55b","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7547c435-4a1e-4db7-9a86-89cb85277fd3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"7bf6ec2a-46eb-403c-8c7a-681325973631","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843070.3885849} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b644b1fe-ae11-44e1-b0e2-46986c037d34","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843070.3887281} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"e3c00e4a94f15af2c61b84b289d7e55b","responseTime":9,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7547c435-4a1e-4db7-9a86-89cb85277fd3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7547c435-4a1e-4db7-9a86-89cb85277fd3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:30.388567857Z"}]},"request_id":"f142e7f1-f905-4335-966b-490b7b551f71","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843070.391888} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e3c00e4a94f15af2c61b84b289d7e55b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e3c00e4a94f15af2c61b84b289d7e55b"} device-1 | {"level":"info","message":"POST /devices? 201 87ms","method":"POST","requestID":"e3c00e4a94f15af2c61b84b289d7e55b","responseTime":87,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:24:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.092","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e3c00e4a94f15af2c61b84b289d7e55b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3MH0.CHyRz9SE-SBX2_cM-XzujRak9Eqal0p6wW2WZoC832U","level":"info","message":"auth send jwt","requestID":"37e65c5da7cda263fbb213e22412a02e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"37e65c5da7cda263fbb213e22412a02e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"37e65c5da7cda263fbb213e22412a02e"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:30Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.715601,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"37e65c5da7cda263fbb213e22412a02e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843070,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3MH0.CHyRz9SE-SBX2_cM-XzujRak9Eqal0p6wW2WZoC832U"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"37e65c5da7cda263fbb213e22412a02e","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3ed4ee9-963a-4374-b5b7-24e2ce82106b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"16c377d0-e8b3-4d73-90fa-a2d922c38454","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843070.4392092} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"37e65c5da7cda263fbb213e22412a02e","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"306d44f2-370b-4f17-b7fa-4f52ea91a82f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843070.4669604} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"37e65c5da7cda263fbb213e22412a02e","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3ed4ee9-963a-4374-b5b7-24e2ce82106b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"035bd510-9ee5-46f9-9119-9781c1d5f4c9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843070.4773214} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"92e1e069-790f-4d4c-9e36-bf01771044f4","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843070.4775481} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"37e65c5da7cda263fbb213e22412a02e","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3ed4ee9-963a-4374-b5b7-24e2ce82106b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3ed4ee9-963a-4374-b5b7-24e2ce82106b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:30.477285505Z"}]},"request_id":"d8a52305-33bf-40ce-9348-9cd895d594b9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843070.4812806} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"37e65c5da7cda263fbb213e22412a02e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"37e65c5da7cda263fbb213e22412a02e"} gateway-1 | {"time_local":"28/Apr/2025:12:24:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.066","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"37e65c5da7cda263fbb213e22412a02e"} device-1 | {"level":"info","message":"POST /devices? 201 62ms","method":"POST","requestID":"37e65c5da7cda263fbb213e22412a02e","responseTime":62,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3MX0.pvf6QGQejBYqJMjAbIHMKcFKfbSLTU5EH09ZyHpLYVU","level":"info","message":"auth send jwt","requestID":"9da5a43e61d7a47b7dca66de3ed2355f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9da5a43e61d7a47b7dca66de3ed2355f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"9da5a43e61d7a47b7dca66de3ed2355f"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:31Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.807247,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9da5a43e61d7a47b7dca66de3ed2355f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843071,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3MX0.pvf6QGQejBYqJMjAbIHMKcFKfbSLTU5EH09ZyHpLYVU"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"9da5a43e61d7a47b7dca66de3ed2355f","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3ed4ee9-963a-4374-b5b7-24e2ce82106b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3ed4ee9-963a-4374-b5b7-24e2ce82106b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:30.477285505Z"}]},"request_id":"34deead9-ca9b-4d44-b73e-ec8b477f427c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843071.3850296} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9da5a43e61d7a47b7dca66de3ed2355f","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"35c2c93c-c013-43ea-b33f-b798f63e9c0e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843071.389545} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"9da5a43e61d7a47b7dca66de3ed2355f","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3ed4ee9-963a-4374-b5b7-24e2ce82106b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3ed4ee9-963a-4374-b5b7-24e2ce82106b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:30.477285505Z"}]},"request_id":"e0961d69-26c3-4dae-99e1-499a230d8e3a","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843071.3994603} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9da5a43e61d7a47b7dca66de3ed2355f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"9da5a43e61d7a47b7dca66de3ed2355f"} gateway-1 | {"time_local":"28/Apr/2025:12:24:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.077","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"9da5a43e61d7a47b7dca66de3ed2355f"} device-1 | {"level":"info","message":"PATCH /devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b 200 48ms","method":"PATCH","requestID":"9da5a43e61d7a47b7dca66de3ed2355f","responseTime":48,"status":200,"url":"/devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3MX0.pvf6QGQejBYqJMjAbIHMKcFKfbSLTU5EH09ZyHpLYVU","level":"info","message":"auth send jwt","requestID":"32bad217ccb5c1827e59720be16db34c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"32bad217ccb5c1827e59720be16db34c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"32bad217ccb5c1827e59720be16db34c"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:31Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.754905,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"32bad217ccb5c1827e59720be16db34c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843071,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3MX0.pvf6QGQejBYqJMjAbIHMKcFKfbSLTU5EH09ZyHpLYVU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"32bad217ccb5c1827e59720be16db34c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"32bad217ccb5c1827e59720be16db34c"} device-1 | {"level":"info","message":"POST /devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b/websocket 200 12ms","method":"POST","requestID":"32bad217ccb5c1827e59720be16db34c","responseTime":12,"status":200,"url":"/devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:24:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.015","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"32bad217ccb5c1827e59720be16db34c"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"eed222a22a24f4806add35e52895eb5b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"eed222a22a24f4806add35e52895eb5b","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:24:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/7547c435-4a1e-4db7-9a86-89cb85277fd3/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":"eed222a22a24f4806add35e52895eb5b"} device-1 | {"level":"info","message":"OPTIONS /devices/7547c435-4a1e-4db7-9a86-89cb85277fd3/websocket 200 1ms","method":"OPTIONS","requestID":"eed222a22a24f4806add35e52895eb5b","responseTime":1,"status":200,"url":"/devices/7547c435-4a1e-4db7-9a86-89cb85277fd3/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3Mn0.q6nlZBkzVJjdB4QFLbCq-UymRRfkx3uQBO2hCfC866E","level":"info","message":"auth send jwt","requestID":"7682019701e7640ecd19c8f733113fd4"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7682019701e7640ecd19c8f733113fd4","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"7682019701e7640ecd19c8f733113fd4"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:32Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.324674,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7547c435-4a1e-4db7-9a86-89cb85277fd3","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"7682019701e7640ecd19c8f733113fd4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/7547c435-4a1e-4db7-9a86-89cb85277fd3","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843072,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3Mn0.q6nlZBkzVJjdB4QFLbCq-UymRRfkx3uQBO2hCfC866E"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7682019701e7640ecd19c8f733113fd4","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"7682019701e7640ecd19c8f733113fd4"} gateway-1 | {"time_local":"28/Apr/2025:12:24:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7547c435-4a1e-4db7-9a86-89cb85277fd3/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":"7682019701e7640ecd19c8f733113fd4"} device-1 | {"level":"info","message":"POST /devices/7547c435-4a1e-4db7-9a86-89cb85277fd3/websocket 200 21ms","method":"POST","requestID":"7682019701e7640ecd19c8f733113fd4","responseTime":21,"status":200,"url":"/devices/7547c435-4a1e-4db7-9a86-89cb85277fd3/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7547c435-4a1e-4db7-9a86-89cb85277fd3' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3Mn0.q6nlZBkzVJjdB4QFLbCq-UymRRfkx3uQBO2hCfC866E","level":"info","message":"auth send jwt","requestID":"4b1fbca35a6ca6899ffa59c768d64d15"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4b1fbca35a6ca6899ffa59c768d64d15","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4b1fbca35a6ca6899ffa59c768d64d15"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:32Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.90333,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7547c435-4a1e-4db7-9a86-89cb85277fd3","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"4b1fbca35a6ca6899ffa59c768d64d15","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/7547c435-4a1e-4db7-9a86-89cb85277fd3","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843072,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3Mn0.q6nlZBkzVJjdB4QFLbCq-UymRRfkx3uQBO2hCfC866E"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4b1fbca35a6ca6899ffa59c768d64d15","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7547c435-4a1e-4db7-9a86-89cb85277fd3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7547c435-4a1e-4db7-9a86-89cb85277fd3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:30.388567857Z"}]},"request_id":"f78df5a1-daa3-4fd6-862b-1e364a5fa34d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843072.7749708} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4b1fbca35a6ca6899ffa59c768d64d15","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4b1fbca35a6ca6899ffa59c768d64d15"} gateway-1 | {"time_local":"28/Apr/2025:12:24:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7547c435-4a1e-4db7-9a86-89cb85277fd3? 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":"4b1fbca35a6ca6899ffa59c768d64d15"} device-1 | {"level":"info","message":"GET /devices/7547c435-4a1e-4db7-9a86-89cb85277fd3? 200 10ms","method":"GET","requestID":"4b1fbca35a6ca6899ffa59c768d64d15","responseTime":10,"status":200,"url":"/devices/7547c435-4a1e-4db7-9a86-89cb85277fd3?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3Mn0.q6nlZBkzVJjdB4QFLbCq-UymRRfkx3uQBO2hCfC866E","level":"info","message":"auth send jwt","requestID":"fcfc1ef750c135e98a3f9f32bda5e69c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fcfc1ef750c135e98a3f9f32bda5e69c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fcfc1ef750c135e98a3f9f32bda5e69c"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:32Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.107348,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"fcfc1ef750c135e98a3f9f32bda5e69c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843072,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3Mn0.q6nlZBkzVJjdB4QFLbCq-UymRRfkx3uQBO2hCfC866E"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fcfc1ef750c135e98a3f9f32bda5e69c","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3ed4ee9-963a-4374-b5b7-24e2ce82106b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3ed4ee9-963a-4374-b5b7-24e2ce82106b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:30.477285505Z"}]},"request_id":"b9de83de-f3f3-4443-aac6-424f03b1723c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843072.790967} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"fcfc1ef750c135e98a3f9f32bda5e69c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fcfc1ef750c135e98a3f9f32bda5e69c"} gateway-1 | {"time_local":"28/Apr/2025:12:24:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b? 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":"fcfc1ef750c135e98a3f9f32bda5e69c"} device-1 | {"level":"info","message":"GET /devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b? 200 11ms","method":"GET","requestID":"fcfc1ef750c135e98a3f9f32bda5e69c","responseTime":11,"status":200,"url":"/devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3Mn0.q6nlZBkzVJjdB4QFLbCq-UymRRfkx3uQBO2hCfC866E","level":"info","message":"auth send jwt","requestID":"62bd3d2a27077b3dd548667d573d485a"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"62bd3d2a27077b3dd548667d573d485a","responseTime":27,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"62bd3d2a27077b3dd548667d573d485a"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:32Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.163391,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"62bd3d2a27077b3dd548667d573d485a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843072,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3Mn0.q6nlZBkzVJjdB4QFLbCq-UymRRfkx3uQBO2hCfC866E"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"62bd3d2a27077b3dd548667d573d485a","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/939994d3-c551-4f43-8082-14177177e3c5"},"level":"info","message":"Attempting to run experiment","requestID":"62bd3d2a27077b3dd548667d573d485a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/939994d3-c551-4f43-8082-14177177e3c5"},"level":"info","message":"Attempting to book experiment","requestID":"62bd3d2a27077b3dd548667d573d485a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/939994d3-c551-4f43-8082-14177177e3c5"},"level":"info","message":"Successfully booked experiment","requestID":"62bd3d2a27077b3dd548667d573d485a"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bd6e4700-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bd6e6e10-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:32Z"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:32Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.685839,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7547c435-4a1e-4db7-9a86-89cb85277fd3","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bd6e4700-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/7547c435-4a1e-4db7-9a86-89cb85277fd3","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843072,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3Mn0.q6nlZBkzVJjdB4QFLbCq-UymRRfkx3uQBO2hCfC866E"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bd6e4700-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.821304,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bd6e6e10-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843072,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3Mn0.q6nlZBkzVJjdB4QFLbCq-UymRRfkx3uQBO2hCfC866E"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bd6e6e10-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7547c435-4a1e-4db7-9a86-89cb85277fd3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7547c435-4a1e-4db7-9a86-89cb85277fd3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:30.388567857Z"}]},"request_id":"89671a30-9efa-49a9-8017-062e2e6019ad","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843072.8882487} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"bd6e4700-242b-11f0-a4ab-3996a0934271","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3ed4ee9-963a-4374-b5b7-24e2ce82106b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3ed4ee9-963a-4374-b5b7-24e2ce82106b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:30.477285505Z"}]},"request_id":"10817ff3-c2c1-4d0f-8982-f6ef8f61a2cd","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843072.9131181} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"bd6e6e10-242b-11f0-a4ab-3996a0934271","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bd6e4700-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/7547c435-4a1e-4db7-9a86-89cb85277fd3? 200 37ms","method":"GET","requestID":"bd6e4700-242b-11f0-a4ab-3996a0934271","responseTime":37,"status":200,"url":"/devices/7547c435-4a1e-4db7-9a86-89cb85277fd3?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bd6e6e10-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b? 200 37ms","method":"GET","requestID":"bd6e6e10-242b-11f0-a4ab-3996a0934271","responseTime":37,"status":200,"url":"/devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/939994d3-c551-4f43-8082-14177177e3c5"},"level":"info","message":"Setting up experiment","requestID":"62bd3d2a27077b3dd548667d573d485a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/939994d3-c551-4f43-8082-14177177e3c5"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"62bd3d2a27077b3dd548667d573d485a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/939994d3-c551-4f43-8082-14177177e3c5"},"level":"info","message":"Successfully locked booking for experiment","requestID":"62bd3d2a27077b3dd548667d573d485a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/939994d3-c551-4f43-8082-14177177e3c5"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"62bd3d2a27077b3dd548667d573d485a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/939994d3-c551-4f43-8082-14177177e3c5"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"62bd3d2a27077b3dd548667d573d485a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/939994d3-c551-4f43-8082-14177177e3c5"},"level":"info","message":"Attempting to update booking for experiment","requestID":"62bd3d2a27077b3dd548667d573d485a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/939994d3-c551-4f43-8082-14177177e3c5"},"level":"info","message":"Successfully updated booking for experiment","requestID":"62bd3d2a27077b3dd548667d573d485a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/939994d3-c551-4f43-8082-14177177e3c5"},"level":"info","message":"Successfully set up experiment","requestID":"62bd3d2a27077b3dd548667d573d485a"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bd7d8940-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bd7dd760-242b-11f0-a4ab-3996a0934271"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/939994d3-c551-4f43-8082-14177177e3c5"},"level":"info","message":"Successfully running experiment","requestID":"62bd3d2a27077b3dd548667d573d485a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bd7dfe70-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:32Z"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.774083,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:32Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7547c435-4a1e-4db7-9a86-89cb85277fd3","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bd7d8940-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/7547c435-4a1e-4db7-9a86-89cb85277fd3","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843072,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3Mn0.q6nlZBkzVJjdB4QFLbCq-UymRRfkx3uQBO2hCfC866E"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bd7d8940-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":5.07596,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:32Z"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bd7dd760-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843072,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3Mn0.q6nlZBkzVJjdB4QFLbCq-UymRRfkx3uQBO2hCfC866E"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"bd7dd760-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7547c435-4a1e-4db7-9a86-89cb85277fd3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3215375b-6ff8-4d39-8527-53fbd24707e0","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843073.0096705} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":20.437402,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7547c435-4a1e-4db7-9a86-89cb85277fd3","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bd7dfe70-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7547c435-4a1e-4db7-9a86-89cb85277fd3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 23ms","method":"POST","requestID":"bd7dfe70-242b-11f0-a4ab-3996a0934271","responseTime":23,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bd7dfe70-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7547c435-4a1e-4db7-9a86-89cb85277fd3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7547c435-4a1e-4db7-9a86-89cb85277fd3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:30.388567857Z"}]},"request_id":"f08e07ea-2f18-4463-ac62-087eecc69104","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843073.013022} device-1 | {"level":"info","message":"POST /devices/7547c435-4a1e-4db7-9a86-89cb85277fd3/signaling 200 30ms","method":"POST","requestID":"bd7dfe70-242b-11f0-a4ab-3996a0934271","responseTime":30,"status":200,"url":"/devices/7547c435-4a1e-4db7-9a86-89cb85277fd3/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bd7d8940-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3ed4ee9-963a-4374-b5b7-24e2ce82106b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3ed4ee9-963a-4374-b5b7-24e2ce82106b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:30.477285505Z"}]},"request_id":"abc44434-f152-4e3c-b923-1a8f8340769c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843073.014109} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bd7dd760-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bd830780-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F939994d3-c551-4f43-8082-14177177e3c5#owner@http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F939994d3-c551-4f43-8082-14177177e3c5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"ed45aad2-ec76-49ca-889e-6ff9d52d5486","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843073.0174553} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"de3de324-7796-4862-b129-dd4331f63ab7","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843073.0177975} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bd7d8940-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/7547c435-4a1e-4db7-9a86-89cb85277fd3? 200 40ms","method":"GET","requestID":"bd7d8940-242b-11f0-a4ab-3996a0934271","responseTime":40,"status":200,"url":"/devices/7547c435-4a1e-4db7-9a86-89cb85277fd3?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bd7dd760-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"62bd3d2a27077b3dd548667d573d485a","responseTime":35,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:33Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3ed4ee9-963a-4374-b5b7-24e2ce82106b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c834897d-bea0-4c8f-990a-7ca67344ce39","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843073.0206978} device-1 | {"level":"info","message":"GET /devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b? 200 39ms","method":"GET","requestID":"bd7dd760-242b-11f0-a4ab-3996a0934271","responseTime":39,"status":200,"url":"/devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b?"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.935489,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bd830780-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bd830780-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bd830780-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b/signaling 200 8ms","method":"POST","requestID":"bd830780-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bd846710-242b-11f0-a4ab-3996a0934271"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/939994d3-c551-4f43-8082-14177177e3c5","user":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"62bd3d2a27077b3dd548667d573d485a"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:33Z"} gateway-1 | {"time_local":"28/Apr/2025:12:24:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.232","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"62bd3d2a27077b3dd548667d573d485a"} experiment-1 | {"level":"info","message":"POST /experiments? 201 205ms","method":"POST","requestID":"62bd3d2a27077b3dd548667d573d485a","responseTime":205,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7547c435-4a1e-4db7-9a86-89cb85277fd3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e6cf943e-e8b7-4504-b227-2528854e58b1","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843073.0290418} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.318502,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7547c435-4a1e-4db7-9a86-89cb85277fd3","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bd846710-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7547c435-4a1e-4db7-9a86-89cb85277fd3","object_type":"device","rebac_allow":false,"scope_allow":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":"bd846710-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3M30.TuxX4r-phxPGhjOsCUfDFcMBmNRdJUW0uxslRpZ2svk","level":"info","message":"auth send jwt","requestID":"2e4e0871194d951d347c570cebd85fe3"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2e4e0871194d951d347c570cebd85fe3","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2e4e0871194d951d347c570cebd85fe3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bd846710-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/7547c435-4a1e-4db7-9a86-89cb85277fd3/signaling 200 9ms","method":"POST","requestID":"bd846710-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/7547c435-4a1e-4db7-9a86-89cb85277fd3/signaling"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:33Z"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.783437,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7547c435-4a1e-4db7-9a86-89cb85277fd3","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"2e4e0871194d951d347c570cebd85fe3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/7547c435-4a1e-4db7-9a86-89cb85277fd3","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843073,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3M30.TuxX4r-phxPGhjOsCUfDFcMBmNRdJUW0uxslRpZ2svk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2e4e0871194d951d347c570cebd85fe3","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bd8614c0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:33Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7547c435-4a1e-4db7-9a86-89cb85277fd3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7547c435-4a1e-4db7-9a86-89cb85277fd3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:30.388567857Z"}]},"request_id":"bacf8fde-99ce-4716-8c53-8854e3fc5690","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843073.0393162} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2e4e0871194d951d347c570cebd85fe3","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3ed4ee9-963a-4374-b5b7-24e2ce82106b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1ca5ca54-f02e-4d5d-8a85-4ab78ccfee96","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843073.0395932} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.173644,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bd8614c0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b","object_type":"device","rebac_allow":false,"scope_allow":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":"bd8614c0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2e4e0871194d951d347c570cebd85fe3"} gateway-1 | {"time_local":"28/Apr/2025:12:24:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7547c435-4a1e-4db7-9a86-89cb85277fd3? 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":"2e4e0871194d951d347c570cebd85fe3"} device-1 | {"level":"info","message":"GET /devices/7547c435-4a1e-4db7-9a86-89cb85277fd3? 200 11ms","method":"GET","requestID":"2e4e0871194d951d347c570cebd85fe3","responseTime":11,"status":200,"url":"/devices/7547c435-4a1e-4db7-9a86-89cb85277fd3?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bd8614c0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b/signaling 200 8ms","method":"POST","requestID":"bd8614c0-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/939994d3-c551-4f43-8082-14177177e3c5"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"62bd3d2a27077b3dd548667d573d485a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/939994d3-c551-4f43-8082-14177177e3c5"},"level":"info","message":"Building connection plan","requestID":"62bd3d2a27077b3dd548667d573d485a"} 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":"2a0febe2-e2e5-4617-8521-2569c2ff6362"},{"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":"85d51411-18f1-42b4-80db-c676484055ba"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"bef5cbbe-25ce-47c3-87e8-4c0cea3d04f8"}]},"level":"info","message":"Built pairwise service configurations","requestID":"62bd3d2a27077b3dd548667d573d485a"} 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/7547c435-4a1e-4db7-9a86-89cb85277fd3"},{"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/f3ed4ee9-963a-4374-b5b7-24e2ce82106b"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"62bd3d2a27077b3dd548667d573d485a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3M30.TuxX4r-phxPGhjOsCUfDFcMBmNRdJUW0uxslRpZ2svk","level":"info","message":"auth send jwt","requestID":"f13539d8c911e42f0c11930c5e94e101"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"bd87c270-242b-11f0-a4ab-3996a0934271"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f13539d8c911e42f0c11930c5e94e101","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f13539d8c911e42f0c11930c5e94e101"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Received request.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:33Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:33Z"} authorization-1 | {"client_addr":"127.0.0.1:42116","level":"info","msg":"Sent response.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.456726,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bd87c270-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843072,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3Mn0.q6nlZBkzVJjdB4QFLbCq-UymRRfkx3uQBO2hCfC866E"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bd87c270-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.665704,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"f13539d8c911e42f0c11930c5e94e101","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843073,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3M30.TuxX4r-phxPGhjOsCUfDFcMBmNRdJUW0uxslRpZ2svk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f13539d8c911e42f0c11930c5e94e101","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3ed4ee9-963a-4374-b5b7-24e2ce82106b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3ed4ee9-963a-4374-b5b7-24e2ce82106b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:30.477285505Z"}]},"request_id":"2af2df7a-0fe4-4b3e-bd56-698b434b9536","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843073.0560913} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f13539d8c911e42f0c11930c5e94e101","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f13539d8c911e42f0c11930c5e94e101"} gateway-1 | {"time_local":"28/Apr/2025:12:24:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b? 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":"f13539d8c911e42f0c11930c5e94e101"} device-1 | {"level":"info","message":"GET /devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b? 200 12ms","method":"GET","requestID":"f13539d8c911e42f0c11930c5e94e101","responseTime":12,"status":200,"url":"/devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b?"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","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%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"52ad0a33-b9fe-469f-af9a-d4156ee7e042","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843073.0606687} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7e8bfcba-24af-452b-aa14-0529661ad11a","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843073.0608814} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"bd87c270-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"bd87c270-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"bd87c270-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/a02a04f4-4398-49a8-a089-b0d17fa6cade'","requestID":"bd87c270-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a02a04f4-4398-49a8-a089-b0d17fa6cade'","requestID":"bd87c270-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"bd87c270-242b-11f0-a4ab-3996a0934271"} 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":"bd87c270-242b-11f0-a4ab-3996a0934271","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":"bd87c270-242b-11f0-a4ab-3996a0934271"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/a02a04f4-4398-49a8-a089-b0d17fa6cade","device":"7547c435-4a1e-4db7-9a86-89cb85277fd3","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/939994d3-c551-4f43-8082-14177177e3c5"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"62bd3d2a27077b3dd548667d573d485a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bd9249c0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:33Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7547c435-4a1e-4db7-9a86-89cb85277fd3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2c7d8806-9055-434d-8a04-bd961212d1fe","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843073.1205437} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.827118,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7547c435-4a1e-4db7-9a86-89cb85277fd3","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bd9249c0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7547c435-4a1e-4db7-9a86-89cb85277fd3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bd9249c0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bd9249c0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/7547c435-4a1e-4db7-9a86-89cb85277fd3/signaling 200 8ms","method":"POST","requestID":"bd9249c0-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/7547c435-4a1e-4db7-9a86-89cb85277fd3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bd93d060-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:33Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3ed4ee9-963a-4374-b5b7-24e2ce82106b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d31a9153-71df-4a3b-99d7-f8387e3d06a9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843073.1549997} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.664607,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:33Z"} device-1 | {"device":"7547c435-4a1e-4db7-9a86-89cb85277fd3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"7547c435-4a1e-4db7-9a86-89cb85277fd3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bd93d060-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"bd93d060-242b-11f0-a4ab-3996a0934271","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bd93d060-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b/signaling 200 34ms","method":"POST","requestID":"bd93d060-242b-11f0-a4ab-3996a0934271","responseTime":34,"status":200,"url":"/devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b/signaling"} device-1 | {"device":"f3ed4ee9-963a-4374-b5b7-24e2ce82106b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"a02a04f4-4398-49a8-a089-b0d17fa6cade","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 6837357668448364880 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:aiir\r\na=ice-pwd:dcsa0rikWG5BJNK8hFzjM/wi\r\na=ice-options:trickle\r\na=fingerprint:sha-256 93:F6:74:D7:41:80:87:6C:A7:55:A4:D3:06:4E:2E:35:ED:88:A1:AB:0F:B1:2B:FD:3C:7E:2D:BB:4B:62:73:F8\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"7547c435-4a1e-4db7-9a86-89cb85277fd3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1168634169 1 udp 2113937151 a9753d08-6a54-421d-a8a6-1799de64ebba.local 60268 typ host generation 0 ufrag aiir network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"7547c435-4a1e-4db7-9a86-89cb85277fd3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"f3ed4ee9-963a-4374-b5b7-24e2ce82106b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f3ed4ee9-963a-4374-b5b7-24e2ce82106b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f3ed4ee9-963a-4374-b5b7-24e2ce82106b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a02a04f4-4398-49a8-a089-b0d17fa6cade' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a02a04f4-4398-49a8-a089-b0d17fa6cade","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"7547c435-4a1e-4db7-9a86-89cb85277fd3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"7547c435-4a1e-4db7-9a86-89cb85277fd3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"968bcbdebad367c4ec8a35674c412583","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"968bcbdebad367c4ec8a35674c412583","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/7547c435-4a1e-4db7-9a86-89cb85277fd3"},{"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/f3ed4ee9-963a-4374-b5b7-24e2ce82106b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/a02a04f4-4398-49a8-a089-b0d17fa6cade"}}},"level":"info","message":"received a callback","requestID":"968bcbdebad367c4ec8a35674c412583"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"968bcbdebad367c4ec8a35674c412583","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.006","http_referrer":"","http_user_agent":"node-fetch","requestID":"968bcbdebad367c4ec8a35674c412583"} device-1 | {"data":{"peerconnection":"a02a04f4-4398-49a8-a089-b0d17fa6cade","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"f3ed4ee9-963a-4374-b5b7-24e2ce82106b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7547c435-4a1e-4db7-9a86-89cb85277fd3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"f3ed4ee9-963a-4374-b5b7-24e2ce82106b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"a02a04f4-4398-49a8-a089-b0d17fa6cade","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"7547c435-4a1e-4db7-9a86-89cb85277fd3","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/a02a04f4-4398-49a8-a089-b0d17fa6cade' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a02a04f4-4398-49a8-a089-b0d17fa6cade","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f10fc1a6904b1d1fb46bb38b0020cdbf","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"f10fc1a6904b1d1fb46bb38b0020cdbf","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7547c435-4a1e-4db7-9a86-89cb85277fd3"},{"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/f3ed4ee9-963a-4374-b5b7-24e2ce82106b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/a02a04f4-4398-49a8-a089-b0d17fa6cade"}}},"level":"info","message":"received a callback","requestID":"f10fc1a6904b1d1fb46bb38b0020cdbf"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"becf0f80-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:35Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa02a04f4-4398-49a8-a089-b0d17fa6cade","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d1238e72-da17-4ed3-a9dc-24486cc27be1","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843075.2206697} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.183754,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a02a04f4-4398-49a8-a089-b0d17fa6cade","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"becf0f80-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a02a04f4-4398-49a8-a089-b0d17fa6cade","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":"becf0f80-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"becf0f80-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /peerconnections/a02a04f4-4398-49a8-a089-b0d17fa6cade 200 32ms","method":"GET","requestID":"becf0f80-242b-11f0-a4ab-3996a0934271","responseTime":32,"status":200,"url":"/peerconnections/a02a04f4-4398-49a8-a089-b0d17fa6cade"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 49ms","method":"POST","requestID":"f10fc1a6904b1d1fb46bb38b0020cdbf","responseTime":49,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch","requestID":"f10fc1a6904b1d1fb46bb38b0020cdbf"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bed61460-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:35Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7547c435-4a1e-4db7-9a86-89cb85277fd3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e301e16-4773-4658-b9f0-61abf54b8071","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843075.2667186} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.316759,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7547c435-4a1e-4db7-9a86-89cb85277fd3","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bed61460-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7547c435-4a1e-4db7-9a86-89cb85277fd3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"bed61460-242b-11f0-a4ab-3996a0934271","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bed61460-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/7547c435-4a1e-4db7-9a86-89cb85277fd3/signaling 200 32ms","method":"POST","requestID":"bed61460-242b-11f0-a4ab-3996a0934271","responseTime":32,"status":200,"url":"/devices/7547c435-4a1e-4db7-9a86-89cb85277fd3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bedb4480-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:35Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3ed4ee9-963a-4374-b5b7-24e2ce82106b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9fdc1576-d406-4103-a380-a58564716797","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843075.2761211} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.249746,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bedb4480-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b","object_type":"device","rebac_allow":false,"scope_allow":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":"bedb4480-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bedb4480-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b/signaling 200 7ms","method":"POST","requestID":"bedb4480-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3NX0.T0lAvJPDT9pm0f5cRvJiwSwwqYYUYd8Xgh6ZSro1rmg","level":"info","message":"auth send jwt","requestID":"41146706a4731e47569b56675b7456f5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"41146706a4731e47569b56675b7456f5","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/939994d3-c551-4f43-8082-14177177e3c5","requestID":"41146706a4731e47569b56675b7456f5"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:35Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.927448,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/939994d3-c551-4f43-8082-14177177e3c5","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"41146706a4731e47569b56675b7456f5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/939994d3-c551-4f43-8082-14177177e3c5","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843075,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3NX0.T0lAvJPDT9pm0f5cRvJiwSwwqYYUYd8Xgh6ZSro1rmg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"41146706a4731e47569b56675b7456f5","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/939994d3-c551-4f43-8082-14177177e3c5","requestID":"41146706a4731e47569b56675b7456f5"} gateway-1 | {"time_local":"28/Apr/2025:12:24:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/939994d3-c551-4f43-8082-14177177e3c5 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"41146706a4731e47569b56675b7456f5"} experiment-1 | {"level":"info","message":"GET /experiments/939994d3-c551-4f43-8082-14177177e3c5 200 9ms","method":"GET","requestID":"41146706a4731e47569b56675b7456f5","responseTime":9,"status":200,"url":"/experiments/939994d3-c551-4f43-8082-14177177e3c5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3NX0.T0lAvJPDT9pm0f5cRvJiwSwwqYYUYd8Xgh6ZSro1rmg","level":"info","message":"auth send jwt","requestID":"cf2fab311184d066ad3c1dfb9b91ddba"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cf2fab311184d066ad3c1dfb9b91ddba","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/939994d3-c551-4f43-8082-14177177e3c5","requestID":"cf2fab311184d066ad3c1dfb9b91ddba"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:35Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.667917,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:35Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/939994d3-c551-4f43-8082-14177177e3c5","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cf2fab311184d066ad3c1dfb9b91ddba","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/939994d3-c551-4f43-8082-14177177e3c5","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843075,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3NX0.T0lAvJPDT9pm0f5cRvJiwSwwqYYUYd8Xgh6ZSro1rmg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cf2fab311184d066ad3c1dfb9b91ddba","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/939994d3-c551-4f43-8082-14177177e3c5"},"level":"info","message":"Attempting to finish experiment","requestID":"cf2fab311184d066ad3c1dfb9b91ddba"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"bee4ba60-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:35Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":25.56927,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:35Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a02a04f4-4398-49a8-a089-b0d17fa6cade","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bee4ba60-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:http://localhost/peerconnections/a02a04f4-4398-49a8-a089-b0d17fa6cade","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843075,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3NX0.T0lAvJPDT9pm0f5cRvJiwSwwqYYUYd8Xgh6ZSro1rmg"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"bee4ba60-242b-11f0-a4ab-3996a0934271","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/a02a04f4-4398-49a8-a089-b0d17fa6cade","device":"7547c435-4a1e-4db7-9a86-89cb85277fd3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"f3ed4ee9-963a-4374-b5b7-24e2ce82106b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f3ed4ee9-963a-4374-b5b7-24e2ce82106b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f3ed4ee9-963a-4374-b5b7-24e2ce82106b","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a02a04f4-4398-49a8-a089-b0d17fa6cade' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a02a04f4-4398-49a8-a089-b0d17fa6cade' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a02a04f4-4398-49a8-a089-b0d17fa6cade","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa02a04f4-4398-49a8-a089-b0d17fa6cade': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa02a04f4-4398-49a8-a089-b0d17fa6cade","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"ded49cae-4dc0-4c94-8b8f-a2d57e8161a0","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843075.3737571} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"984d1ba2-d44c-4af9-b0ed-2be4aca6f019","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843075.3739276} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"bee4ba60-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0ab63d72618c86a37666b296fe3f0a97","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0ab63d72618c86a37666b296fe3f0a97","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/7547c435-4a1e-4db7-9a86-89cb85277fd3"},{"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/f3ed4ee9-963a-4374-b5b7-24e2ce82106b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a02a04f4-4398-49a8-a089-b0d17fa6cade"}}},"level":"info","message":"received a callback","requestID":"0ab63d72618c86a37666b296fe3f0a97"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fc30bcea9e2642f5db2deed54d539b2a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fc30bcea9e2642f5db2deed54d539b2a","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/7547c435-4a1e-4db7-9a86-89cb85277fd3"},{"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/f3ed4ee9-963a-4374-b5b7-24e2ce82106b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a02a04f4-4398-49a8-a089-b0d17fa6cade"}}},"level":"info","message":"received a callback","requestID":"fc30bcea9e2642f5db2deed54d539b2a"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"bee4ba60-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"DELETE /peerconnections/a02a04f4-4398-49a8-a089-b0d17fa6cade 204 50ms","method":"DELETE","requestID":"bee4ba60-242b-11f0-a4ab-3996a0934271","responseTime":50,"status":204,"url":"/peerconnections/a02a04f4-4398-49a8-a089-b0d17fa6cade"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/7547c435-4a1e-4db7-9a86-89cb85277fd3'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/939994d3-c551-4f43-8082-14177177e3c5"},"level":"info","message":"Successfully finished experiment","requestID":"cf2fab311184d066ad3c1dfb9b91ddba"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bef227e0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:35Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7547c435-4a1e-4db7-9a86-89cb85277fd3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7a30d81a-4df0-4867-b2cc-989f68e05d1a","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843075.426827} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.610202,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7547c435-4a1e-4db7-9a86-89cb85277fd3","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bef227e0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7547c435-4a1e-4db7-9a86-89cb85277fd3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bef227e0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bef227e0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/7547c435-4a1e-4db7-9a86-89cb85277fd3/signaling 200 9ms","method":"POST","requestID":"bef227e0-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/7547c435-4a1e-4db7-9a86-89cb85277fd3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bef3ae80-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F939994d3-c551-4f43-8082-14177177e3c5': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F939994d3-c551-4f43-8082-14177177e3c5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"c1a20208-d981-4760-87b7-314ab37d6512","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843075.4335103} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dbf22835-8ae2-4b14-8aa3-e28173d5ffc8","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843075.4336598} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"cf2fab311184d066ad3c1dfb9b91ddba","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:35Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff3ed4ee9-963a-4374-b5b7-24e2ce82106b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9debdf63-563e-4e75-84e8-fc4b280b3b1b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843075.462095} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.092922,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bef3ae80-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"bef3ae80-242b-11f0-a4ab-3996a0934271","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bef3ae80-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b/signaling 200 34ms","method":"POST","requestID":"bef3ae80-242b-11f0-a4ab-3996a0934271","responseTime":34,"status":200,"url":"/devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/939994d3-c551-4f43-8082-14177177e3c5","requestID":"cf2fab311184d066ad3c1dfb9b91ddba"} gateway-1 | {"time_local":"28/Apr/2025:12:24:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/939994d3-c551-4f43-8082-14177177e3c5 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.232","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cf2fab311184d066ad3c1dfb9b91ddba"} experiment-1 | {"level":"info","message":"DELETE /experiments/939994d3-c551-4f43-8082-14177177e3c5 204 229ms","method":"DELETE","requestID":"cf2fab311184d066ad3c1dfb9b91ddba","responseTime":229,"status":204,"url":"/experiments/939994d3-c551-4f43-8082-14177177e3c5"} gateway-1 | {"time_local":"28/Apr/2025:12:24:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2529","request_time":"4.111","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"10a3b7452dc264f986dfeb1211defa9b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 180ms","method":"POST","requestID":"0ab63d72618c86a37666b296fe3f0a97","responseTime":180,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.183","http_referrer":"","http_user_agent":"node-fetch","requestID":"0ab63d72618c86a37666b296fe3f0a97"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 179ms","method":"POST","requestID":"fc30bcea9e2642f5db2deed54d539b2a","responseTime":179,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.182","http_referrer":"","http_user_agent":"node-fetch","requestID":"fc30bcea9e2642f5db2deed54d539b2a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3NX0.T0lAvJPDT9pm0f5cRvJiwSwwqYYUYd8Xgh6ZSro1rmg","level":"info","message":"auth send jwt","requestID":"9b8bdb607cd63647f972442433abd8ba"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9b8bdb607cd63647f972442433abd8ba","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"9b8bdb607cd63647f972442433abd8ba"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f3ed4ee9-963a-4374-b5b7-24e2ce82106b' closed"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:35Z"} gateway-1 | {"time_local":"28/Apr/2025:12:24:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2789","request_time":"2.814","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9019aecad103d5e21e096f43ae17ec47"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.996544,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9b8bdb607cd63647f972442433abd8ba","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843075,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3NX0.T0lAvJPDT9pm0f5cRvJiwSwwqYYUYd8Xgh6ZSro1rmg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9b8bdb607cd63647f972442433abd8ba","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faecb49d8-15dc-425c-bd6f-d36875f54f8f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"92e56894-1fb1-4629-ba80-055d570bf65d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843075.605532} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9b8bdb607cd63647f972442433abd8ba","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/7547c435-4a1e-4db7-9a86-89cb85277fd3' 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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3bbd5ce3-dbd3-4d6d-8d88-87d54dd48604","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843075.6106415} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"9b8bdb607cd63647f972442433abd8ba","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ccc06155-0d93-454f-842c-d02a783115f0","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843075.6232612} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faecb49d8-15dc-425c-bd6f-d36875f54f8f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"bbca26e0-bbaf-48d0-b5bd-f6d4909ea06b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843075.6233022} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"9b8bdb607cd63647f972442433abd8ba","responseTime":40,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faecb49d8-15dc-425c-bd6f-d36875f54f8f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faecb49d8-15dc-425c-bd6f-d36875f54f8f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:35.623277230Z"}]},"request_id":"ebdf7ba9-3d19-412f-8a97-8dd8f48e65d6","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843075.65244} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9b8bdb607cd63647f972442433abd8ba","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"9b8bdb607cd63647f972442433abd8ba"} gateway-1 | {"time_local":"28/Apr/2025:12:24:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.097","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9b8bdb607cd63647f972442433abd8ba"} device-1 | {"level":"info","message":"POST /devices? 201 93ms","method":"POST","requestID":"9b8bdb607cd63647f972442433abd8ba","responseTime":93,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3NX0.T0lAvJPDT9pm0f5cRvJiwSwwqYYUYd8Xgh6ZSro1rmg","level":"info","message":"auth send jwt","requestID":"f04eb208711009f3b052f40c01ec5f27"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f04eb208711009f3b052f40c01ec5f27","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f04eb208711009f3b052f40c01ec5f27"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:35Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.712072,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"f04eb208711009f3b052f40c01ec5f27","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843075,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3NX0.T0lAvJPDT9pm0f5cRvJiwSwwqYYUYd8Xgh6ZSro1rmg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f04eb208711009f3b052f40c01ec5f27","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F145fc7f7-9f40-4d41-ba04-82c97ed672f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fe7f0853-164d-4444-9b87-9ebd76dfc9bf","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843075.699483} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f04eb208711009f3b052f40c01ec5f27","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ea4c1fa2-c674-4c69-8079-8987aab787f5","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843075.7040632} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"f04eb208711009f3b052f40c01ec5f27","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F145fc7f7-9f40-4d41-ba04-82c97ed672f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"b11cebd1-ab45-4de6-b337-7f0843823987","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843075.7132409} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4af0baef-5adb-4173-8973-0bc09f6ce0c8","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843075.713418} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"f04eb208711009f3b052f40c01ec5f27","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F145fc7f7-9f40-4d41-ba04-82c97ed672f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F145fc7f7-9f40-4d41-ba04-82c97ed672f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:35.713222409Z"}]},"request_id":"2923310b-2bdb-49dd-829f-e95a07c0b7f5","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843075.7177606} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f04eb208711009f3b052f40c01ec5f27","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f04eb208711009f3b052f40c01ec5f27"} gateway-1 | {"time_local":"28/Apr/2025:12:24:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f04eb208711009f3b052f40c01ec5f27"} device-1 | {"level":"info","message":"POST /devices? 201 59ms","method":"POST","requestID":"f04eb208711009f3b052f40c01ec5f27","responseTime":59,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3Nn0.xowkt2a56CDxokxNc4WZhauk6CHgKc8fGopqP7tkIQw","level":"info","message":"auth send jwt","requestID":"c7213ee5f74991277e5225b89aaadf1d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c7213ee5f74991277e5225b89aaadf1d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"c7213ee5f74991277e5225b89aaadf1d"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:36Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.685437,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c7213ee5f74991277e5225b89aaadf1d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843076,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3Nn0.xowkt2a56CDxokxNc4WZhauk6CHgKc8fGopqP7tkIQw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c7213ee5f74991277e5225b89aaadf1d","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F145fc7f7-9f40-4d41-ba04-82c97ed672f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F145fc7f7-9f40-4d41-ba04-82c97ed672f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:35.713222409Z"}]},"request_id":"4427ba22-cea4-4961-8eb3-daea9697c02d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843076.6242397} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c7213ee5f74991277e5225b89aaadf1d","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c0ac3b69-ad99-4c78-98dd-038768d0bd2f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843076.6285837} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"c7213ee5f74991277e5225b89aaadf1d","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F145fc7f7-9f40-4d41-ba04-82c97ed672f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F145fc7f7-9f40-4d41-ba04-82c97ed672f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:35.713222409Z"}]},"request_id":"e1b54914-e500-46f8-b680-f1fec4ecf188","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843076.6612844} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c7213ee5f74991277e5225b89aaadf1d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"c7213ee5f74991277e5225b89aaadf1d"} device-1 | {"level":"info","message":"PATCH /devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4 200 48ms","method":"PATCH","requestID":"c7213ee5f74991277e5225b89aaadf1d","responseTime":48,"status":200,"url":"/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4"} gateway-1 | {"time_local":"28/Apr/2025:12:24:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.051","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"c7213ee5f74991277e5225b89aaadf1d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3Nn0.xowkt2a56CDxokxNc4WZhauk6CHgKc8fGopqP7tkIQw","level":"info","message":"auth send jwt","requestID":"589812b49ddc3ca5d7ccc502e9bf9306"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"589812b49ddc3ca5d7ccc502e9bf9306","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"589812b49ddc3ca5d7ccc502e9bf9306"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:36Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.696122,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"589812b49ddc3ca5d7ccc502e9bf9306","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843076,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3Nn0.xowkt2a56CDxokxNc4WZhauk6CHgKc8fGopqP7tkIQw"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"589812b49ddc3ca5d7ccc502e9bf9306","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"589812b49ddc3ca5d7ccc502e9bf9306"} gateway-1 | {"time_local":"28/Apr/2025:12:24:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.017","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"589812b49ddc3ca5d7ccc502e9bf9306"} device-1 | {"level":"info","message":"POST /devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4/websocket 200 13ms","method":"POST","requestID":"589812b49ddc3ca5d7ccc502e9bf9306","responseTime":13,"status":200,"url":"/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2c73b8101c009ec5db245b34f5e0a658","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2c73b8101c009ec5db245b34f5e0a658","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:24:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f/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":"2c73b8101c009ec5db245b34f5e0a658"} device-1 | {"level":"info","message":"OPTIONS /devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f/websocket 200 1ms","method":"OPTIONS","requestID":"2c73b8101c009ec5db245b34f5e0a658","responseTime":1,"status":200,"url":"/devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3OH0.LUDNeyEYjoyXijRsE_qn6Gt4lNFW9kyv5zHDfm2dAJI","level":"info","message":"auth send jwt","requestID":"fc52abc8ec2931c76113736a6986cebc"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fc52abc8ec2931c76113736a6986cebc","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"fc52abc8ec2931c76113736a6986cebc"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:38Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.360716,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"fc52abc8ec2931c76113736a6986cebc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843078,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3OH0.LUDNeyEYjoyXijRsE_qn6Gt4lNFW9kyv5zHDfm2dAJI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fc52abc8ec2931c76113736a6986cebc","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"fc52abc8ec2931c76113736a6986cebc"} gateway-1 | {"time_local":"28/Apr/2025:12:24:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f/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":"fc52abc8ec2931c76113736a6986cebc"} device-1 | {"level":"info","message":"POST /devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f/websocket 200 20ms","method":"POST","requestID":"fc52abc8ec2931c76113736a6986cebc","responseTime":20,"status":200,"url":"/devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3OH0.LUDNeyEYjoyXijRsE_qn6Gt4lNFW9kyv5zHDfm2dAJI","level":"info","message":"auth send jwt","requestID":"bcbd49f60d485295b429cef53a3e390f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bcbd49f60d485295b429cef53a3e390f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bcbd49f60d485295b429cef53a3e390f"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:38Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.307871,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bcbd49f60d485295b429cef53a3e390f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843078,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3OH0.LUDNeyEYjoyXijRsE_qn6Gt4lNFW9kyv5zHDfm2dAJI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bcbd49f60d485295b429cef53a3e390f","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faecb49d8-15dc-425c-bd6f-d36875f54f8f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faecb49d8-15dc-425c-bd6f-d36875f54f8f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:35.623277230Z"}]},"request_id":"bba8ae71-5851-424d-82a0-2ce648119d51","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843078.1093373} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"bcbd49f60d485295b429cef53a3e390f","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bcbd49f60d485295b429cef53a3e390f"} gateway-1 | {"time_local":"28/Apr/2025:12:24:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f? 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":"bcbd49f60d485295b429cef53a3e390f"} device-1 | {"level":"info","message":"GET /devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f? 200 14ms","method":"GET","requestID":"bcbd49f60d485295b429cef53a3e390f","responseTime":14,"status":200,"url":"/devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3OH0.LUDNeyEYjoyXijRsE_qn6Gt4lNFW9kyv5zHDfm2dAJI","level":"info","message":"auth send jwt","requestID":"452c8b88736d74713d98d00f834890a3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"452c8b88736d74713d98d00f834890a3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"452c8b88736d74713d98d00f834890a3"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:38Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.98966,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"452c8b88736d74713d98d00f834890a3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843078,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3OH0.LUDNeyEYjoyXijRsE_qn6Gt4lNFW9kyv5zHDfm2dAJI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"452c8b88736d74713d98d00f834890a3","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F145fc7f7-9f40-4d41-ba04-82c97ed672f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F145fc7f7-9f40-4d41-ba04-82c97ed672f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:35.713222409Z"}]},"request_id":"98769922-59ca-495a-ad3c-0597fc3304f7","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843078.123912} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"452c8b88736d74713d98d00f834890a3","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"452c8b88736d74713d98d00f834890a3"} gateway-1 | {"time_local":"28/Apr/2025:12:24:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4? 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":"452c8b88736d74713d98d00f834890a3"} device-1 | {"level":"info","message":"GET /devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4? 200 11ms","method":"GET","requestID":"452c8b88736d74713d98d00f834890a3","responseTime":11,"status":200,"url":"/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3OH0.LUDNeyEYjoyXijRsE_qn6Gt4lNFW9kyv5zHDfm2dAJI","level":"info","message":"auth send jwt","requestID":"05310db57143caca1449ba01e3ee9fcc"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"05310db57143caca1449ba01e3ee9fcc","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"05310db57143caca1449ba01e3ee9fcc"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:38Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.940764,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"05310db57143caca1449ba01e3ee9fcc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843078,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3OH0.LUDNeyEYjoyXijRsE_qn6Gt4lNFW9kyv5zHDfm2dAJI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"05310db57143caca1449ba01e3ee9fcc","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b"},"level":"info","message":"Attempting to run experiment","requestID":"05310db57143caca1449ba01e3ee9fcc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b"},"level":"info","message":"Attempting to book experiment","requestID":"05310db57143caca1449ba01e3ee9fcc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b"},"level":"info","message":"Successfully booked experiment","requestID":"05310db57143caca1449ba01e3ee9fcc"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c0959eb0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c095c5c0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:38Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.664918,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c0959eb0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843078,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3OH0.LUDNeyEYjoyXijRsE_qn6Gt4lNFW9kyv5zHDfm2dAJI"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"c0959eb0-242b-11f0-a4ab-3996a0934271","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36410","level":"info","msg":"Received request.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36410","level":"info","msg":"Sent response.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.693049,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c095c5c0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843078,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3OH0.LUDNeyEYjoyXijRsE_qn6Gt4lNFW9kyv5zHDfm2dAJI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c095c5c0-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faecb49d8-15dc-425c-bd6f-d36875f54f8f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faecb49d8-15dc-425c-bd6f-d36875f54f8f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:35.623277230Z"}]},"request_id":"c3d19f59-6a64-40dd-80b1-8514bab987fd","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843078.177536} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c0959eb0-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F145fc7f7-9f40-4d41-ba04-82c97ed672f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F145fc7f7-9f40-4d41-ba04-82c97ed672f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:35.713222409Z"}]},"request_id":"11492af0-f874-46a3-9f90-f43e1bb21251","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843078.1803148} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c0959eb0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f? 200 10ms","method":"GET","requestID":"c0959eb0-242b-11f0-a4ab-3996a0934271","responseTime":10,"status":200,"url":"/devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c095c5c0-242b-11f0-a4ab-3996a0934271","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c095c5c0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4? 200 11ms","method":"GET","requestID":"c095c5c0-242b-11f0-a4ab-3996a0934271","responseTime":11,"status":200,"url":"/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b"},"level":"info","message":"Setting up experiment","requestID":"05310db57143caca1449ba01e3ee9fcc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"05310db57143caca1449ba01e3ee9fcc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b"},"level":"info","message":"Successfully locked booking for experiment","requestID":"05310db57143caca1449ba01e3ee9fcc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"05310db57143caca1449ba01e3ee9fcc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"05310db57143caca1449ba01e3ee9fcc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b"},"level":"info","message":"Attempting to update booking for experiment","requestID":"05310db57143caca1449ba01e3ee9fcc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b"},"level":"info","message":"Successfully updated booking for experiment","requestID":"05310db57143caca1449ba01e3ee9fcc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b"},"level":"info","message":"Successfully set up experiment","requestID":"05310db57143caca1449ba01e3ee9fcc"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c0a0c240-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c0a0e950-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c0a11060-242b-11f0-a4ab-3996a0934271"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b"},"level":"info","message":"Successfully running experiment","requestID":"05310db57143caca1449ba01e3ee9fcc"} authorization-1 | {"client_addr":"127.0.0.1:36410","level":"info","msg":"Received request.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:38Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36410","level":"info","msg":"Sent response.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.559436,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c0a0c240-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843078,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3OH0.LUDNeyEYjoyXijRsE_qn6Gt4lNFW9kyv5zHDfm2dAJI"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c0a0c240-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.395366,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c0a0e950-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843078,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3OH0.LUDNeyEYjoyXijRsE_qn6Gt4lNFW9kyv5zHDfm2dAJI"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c0a0e950-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.059945,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:38Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faecb49d8-15dc-425c-bd6f-d36875f54f8f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faecb49d8-15dc-425c-bd6f-d36875f54f8f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:35.623277230Z"}]},"request_id":"91301a2f-0fcb-4c1e-8ec9-33cfeb6afe6c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843078.2563415} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faecb49d8-15dc-425c-bd6f-d36875f54f8f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2403594d-797c-4c2a-8bfd-d393b436ae1e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843078.2565467} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c0a0c240-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c0a11060-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f","object_type":"device","rebac_allow":false,"scope_allow":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":"c0a11060-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F145fc7f7-9f40-4d41-ba04-82c97ed672f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F145fc7f7-9f40-4d41-ba04-82c97ed672f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:35.713222409Z"}]},"request_id":"92993a5a-a78f-4aee-a0d7-2ecd138bfb38","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843078.258151} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c0a0e950-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c0a0c240-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f? 200 20ms","method":"GET","requestID":"c0a0c240-242b-11f0-a4ab-3996a0934271","responseTime":20,"status":200,"url":"/devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f?"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b#owner@http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"0bf6afce-1a9e-4c50-999f-4ca4ae832843","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843078.2622733} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c0a11060-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7da7f9af-c651-42e7-a4ca-22df1a4df486","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843078.262618} device-1 | {"level":"info","message":"POST /devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f/signaling 200 18ms","method":"POST","requestID":"c0a11060-242b-11f0-a4ab-3996a0934271","responseTime":18,"status":200,"url":"/devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c0a0e950-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4? 200 20ms","method":"GET","requestID":"c0a0e950-242b-11f0-a4ab-3996a0934271","responseTime":20,"status":200,"url":"/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"05310db57143caca1449ba01e3ee9fcc","responseTime":15,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c0a444b0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c0a83c50-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:38Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:38Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F145fc7f7-9f40-4d41-ba04-82c97ed672f4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ba04501d-ff2e-48ff-966d-9586c32dad8a","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843078.296204} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.669013,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c0a444b0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"c0a444b0-242b-11f0-a4ab-3996a0934271","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faecb49d8-15dc-425c-bd6f-d36875f54f8f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c2f2d285-2eb0-4fcb-b09e-1d349dbe6bbb","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843078.297356} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.519026,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:38Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b","user":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"05310db57143caca1449ba01e3ee9fcc"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c0a83c50-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"28/Apr/2025:12:24:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.170","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"05310db57143caca1449ba01e3ee9fcc"} experiment-1 | {"level":"info","message":"POST /experiments? 201 167ms","method":"POST","requestID":"05310db57143caca1449ba01e3ee9fcc","responseTime":167,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c0a83c50-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c0a444b0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4/signaling 200 34ms","method":"POST","requestID":"c0a444b0-242b-11f0-a4ab-3996a0934271","responseTime":34,"status":200,"url":"/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c0a83c50-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f/signaling 200 10ms","method":"POST","requestID":"c0a83c50-242b-11f0-a4ab-3996a0934271","responseTime":10,"status":200,"url":"/devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3OH0.LUDNeyEYjoyXijRsE_qn6Gt4lNFW9kyv5zHDfm2dAJI","level":"info","message":"auth send jwt","requestID":"ffa310278be52ccf27084f3cbb9bd30e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ffa310278be52ccf27084f3cbb9bd30e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ffa310278be52ccf27084f3cbb9bd30e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c0aa1110-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Received request.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:38Z"} authorization-1 | {"client_addr":"127.0.0.1:34406","level":"info","msg":"Sent response.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.947494,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ffa310278be52ccf27084f3cbb9bd30e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843078,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3OH0.LUDNeyEYjoyXijRsE_qn6Gt4lNFW9kyv5zHDfm2dAJI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ffa310278be52ccf27084f3cbb9bd30e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F145fc7f7-9f40-4d41-ba04-82c97ed672f4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"49df8699-38f4-40b3-a41d-f86d0135a437","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843078.3098733} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.616408,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c0aa1110-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c0aa1110-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faecb49d8-15dc-425c-bd6f-d36875f54f8f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faecb49d8-15dc-425c-bd6f-d36875f54f8f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:35.623277230Z"}]},"request_id":"92c51af2-2d29-43c3-9470-90a3d74b8477","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843078.3386915} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"ffa310278be52ccf27084f3cbb9bd30e","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c0aa1110-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4/signaling 200 35ms","method":"POST","requestID":"c0aa1110-242b-11f0-a4ab-3996a0934271","responseTime":35,"status":200,"url":"/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"05310db57143caca1449ba01e3ee9fcc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b"},"level":"info","message":"Building connection plan","requestID":"05310db57143caca1449ba01e3ee9fcc"} 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":"190e9faf-4756-4ad9-97d9-6f1c15d4709c"},{"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":"527ddad2-7716-4cba-9bd3-4322fd25fab7"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"5fd2b07a-7292-4840-a628-dd66306e9d37"}]},"level":"info","message":"Built pairwise service configurations","requestID":"05310db57143caca1449ba01e3ee9fcc"} 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/145fc7f7-9f40-4d41-ba04-82c97ed672f4"},{"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/aecb49d8-15dc-425c-bd6f-d36875f54f8f"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"05310db57143caca1449ba01e3ee9fcc"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"c0b00480-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ffa310278be52ccf27084f3cbb9bd30e"} gateway-1 | {"time_local":"28/Apr/2025:12:24:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ffa310278be52ccf27084f3cbb9bd30e"} device-1 | {"level":"info","message":"GET /devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f? 200 42ms","method":"GET","requestID":"ffa310278be52ccf27084f3cbb9bd30e","responseTime":42,"status":200,"url":"/devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f?"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.904963,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c0b00480-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843078,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3OH0.LUDNeyEYjoyXijRsE_qn6Gt4lNFW9kyv5zHDfm2dAJI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c0b00480-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3OH0.LUDNeyEYjoyXijRsE_qn6Gt4lNFW9kyv5zHDfm2dAJI","level":"info","message":"auth send jwt","requestID":"491b9fb953a15f314e325a7a0f24ad29"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"491b9fb953a15f314e325a7a0f24ad29","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"491b9fb953a15f314e325a7a0f24ad29"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.123981,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"491b9fb953a15f314e325a7a0f24ad29","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843078,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA3OH0.LUDNeyEYjoyXijRsE_qn6Gt4lNFW9kyv5zHDfm2dAJI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"491b9fb953a15f314e325a7a0f24ad29","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F145fc7f7-9f40-4d41-ba04-82c97ed672f4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F145fc7f7-9f40-4d41-ba04-82c97ed672f4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:35.713222409Z"}]},"request_id":"eb4deb85-20f3-4659-b0db-c8e2aaa7d10f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843078.385778} authorization-1 | {"level":"info","message":"POST /relations/query 200 23ms","method":"POST","requestID":"491b9fb953a15f314e325a7a0f24ad29","responseTime":23,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"491b9fb953a15f314e325a7a0f24ad29"} device-1 | {"level":"info","message":"GET /devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4? 200 36ms","method":"GET","requestID":"491b9fb953a15f314e325a7a0f24ad29","responseTime":36,"status":200,"url":"/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4?"} gateway-1 | {"time_local":"28/Apr/2025:12:24:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"491b9fb953a15f314e325a7a0f24ad29"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","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%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"dd2f7390-c110-4058-92c6-519ed2c75bff","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843078.3932104} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"30a213d8-6d4e-4569-920a-a48fa70ca6cf","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843078.393511} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"c0b00480-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"c0b00480-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"c0b00480-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/26e7e310-4968-41a8-9340-97a21d154dfd'","requestID":"c0b00480-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/26e7e310-4968-41a8-9340-97a21d154dfd'","requestID":"c0b00480-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"c0b00480-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 60ms","method":"POST","requestID":"c0b00480-242b-11f0-a4ab-3996a0934271","responseTime":60,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"c0b00480-242b-11f0-a4ab-3996a0934271"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/26e7e310-4968-41a8-9340-97a21d154dfd","device":"aecb49d8-15dc-425c-bd6f-d36875f54f8f","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/18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"05310db57143caca1449ba01e3ee9fcc"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c0c4ec10-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:38Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faecb49d8-15dc-425c-bd6f-d36875f54f8f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ba51a939-f547-401f-9248-ac53f8398603","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843078.4852004} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.491242,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c0c4ec10-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f","object_type":"device","rebac_allow":false,"scope_allow":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":"c0c4ec10-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c0c4ec10-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f/signaling 200 7ms","method":"POST","requestID":"c0c4ec10-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c0c672b0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:38Z"} device-1 | {"device":"aecb49d8-15dc-425c-bd6f-d36875f54f8f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"aecb49d8-15dc-425c-bd6f-d36875f54f8f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F145fc7f7-9f40-4d41-ba04-82c97ed672f4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5c3f5560-9af6-454a-89be-5de5b0811580","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843078.4955447} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.72888,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c0c672b0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c0c672b0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 1340508253347069434 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:zW2h\r\na=ice-pwd:arKkmdT7cVZ68VJwI+c62Gyi\r\na=ice-options:trickle\r\na=fingerprint:sha-256 D8:AE:0D:FB:C8:9C:2E:E3:6C:B8:30:5B:5E:36:B2:1E:70:95:84:75:C0:D3:6C:A7:11:09:9A:F5:07:EE:B0:58\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"aecb49d8-15dc-425c-bd6f-d36875f54f8f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c0c672b0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4/signaling 200 10ms","method":"POST","requestID":"c0c672b0-242b-11f0-a4ab-3996a0934271","responseTime":10,"status":200,"url":"/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4/signaling"} device-1 | {"device":"aecb49d8-15dc-425c-bd6f-d36875f54f8f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"145fc7f7-9f40-4d41-ba04-82c97ed672f4","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"26e7e310-4968-41a8-9340-97a21d154dfd","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"145fc7f7-9f40-4d41-ba04-82c97ed672f4","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"145fc7f7-9f40-4d41-ba04-82c97ed672f4","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"145fc7f7-9f40-4d41-ba04-82c97ed672f4","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"145fc7f7-9f40-4d41-ba04-82c97ed672f4","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/26e7e310-4968-41a8-9340-97a21d154dfd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"26e7e310-4968-41a8-9340-97a21d154dfd","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c2bd9f167db4b3e7484db14f2e3e2716","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c2bd9f167db4b3e7484db14f2e3e2716","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/145fc7f7-9f40-4d41-ba04-82c97ed672f4"},{"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/aecb49d8-15dc-425c-bd6f-d36875f54f8f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/26e7e310-4968-41a8-9340-97a21d154dfd"}}},"level":"info","message":"received a callback","requestID":"c2bd9f167db4b3e7484db14f2e3e2716"} device-1 | {"content":{"candidate":"candidate:1727656847 1 udp 2113937151 8762e1d7-e7c2-4d5a-ad3e-28389b9c67ba.local 55486 typ host generation 0 ufrag zW2h network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"aecb49d8-15dc-425c-bd6f-d36875f54f8f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"aecb49d8-15dc-425c-bd6f-d36875f54f8f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"peerconnection":"26e7e310-4968-41a8-9340-97a21d154dfd","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 29ms","method":"POST","requestID":"c2bd9f167db4b3e7484db14f2e3e2716","responseTime":29,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch","requestID":"c2bd9f167db4b3e7484db14f2e3e2716"} device-1 | {"device":"145fc7f7-9f40-4d41-ba04-82c97ed672f4","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"aecb49d8-15dc-425c-bd6f-d36875f54f8f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"145fc7f7-9f40-4d41-ba04-82c97ed672f4","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"26e7e310-4968-41a8-9340-97a21d154dfd","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/26e7e310-4968-41a8-9340-97a21d154dfd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"26e7e310-4968-41a8-9340-97a21d154dfd","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2b3491192da56d6dcdc2d9f660df6496","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2b3491192da56d6dcdc2d9f660df6496","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/145fc7f7-9f40-4d41-ba04-82c97ed672f4"},{"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/aecb49d8-15dc-425c-bd6f-d36875f54f8f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/26e7e310-4968-41a8-9340-97a21d154dfd"}}},"level":"info","message":"received a callback","requestID":"2b3491192da56d6dcdc2d9f660df6496"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"c2077e30-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:40Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F26e7e310-4968-41a8-9340-97a21d154dfd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a2e7db83-15d7-4126-865d-376c12da342d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843080.599628} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.187059,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/26e7e310-4968-41a8-9340-97a21d154dfd","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c2077e30-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/26e7e310-4968-41a8-9340-97a21d154dfd","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":"c2077e30-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"c2077e30-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /peerconnections/26e7e310-4968-41a8-9340-97a21d154dfd 200 8ms","method":"GET","requestID":"c2077e30-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/peerconnections/26e7e310-4968-41a8-9340-97a21d154dfd"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 50ms","method":"POST","requestID":"2b3491192da56d6dcdc2d9f660df6496","responseTime":50,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24: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.053","http_referrer":"","http_user_agent":"node-fetch","requestID":"2b3491192da56d6dcdc2d9f660df6496"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c20e8310-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:40Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F145fc7f7-9f40-4d41-ba04-82c97ed672f4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"206cb917-7834-4b43-a6ab-b7e1ea1cfd0c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843080.644951} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.422088,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c20e8310-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4","object_type":"device","rebac_allow":false,"scope_allow":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":"c20e8310-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c20e8310-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4/signaling 200 7ms","method":"POST","requestID":"c20e8310-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c20fe2a0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:40Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faecb49d8-15dc-425c-bd6f-d36875f54f8f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"55862f3a-970a-4fdb-a05b-07e218a0523a","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843080.6541884} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.449708,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c20fe2a0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f","object_type":"device","rebac_allow":false,"scope_allow":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":"c20fe2a0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c20fe2a0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f/signaling 200 7ms","method":"POST","requestID":"c20fe2a0-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4MH0.vIdodSovRw2eJAyb0aacfpFoMTNv15WMgA3FqNSWtZI","level":"info","message":"auth send jwt","requestID":"25c16d1133b9f9e101269960ef7886ad"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"25c16d1133b9f9e101269960ef7886ad","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b","requestID":"25c16d1133b9f9e101269960ef7886ad"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:40Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.653063,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"25c16d1133b9f9e101269960ef7886ad","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843080,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4MH0.vIdodSovRw2eJAyb0aacfpFoMTNv15WMgA3FqNSWtZI"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"25c16d1133b9f9e101269960ef7886ad","responseTime":27,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b","requestID":"25c16d1133b9f9e101269960ef7886ad"} gateway-1 | {"time_local":"28/Apr/2025:12:24:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"25c16d1133b9f9e101269960ef7886ad"} experiment-1 | {"level":"info","message":"GET /experiments/18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b 200 33ms","method":"GET","requestID":"25c16d1133b9f9e101269960ef7886ad","responseTime":33,"status":200,"url":"/experiments/18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4MH0.vIdodSovRw2eJAyb0aacfpFoMTNv15WMgA3FqNSWtZI","level":"info","message":"auth send jwt","requestID":"ec1c6fdb1415e3be2da36ec2635947ac"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ec1c6fdb1415e3be2da36ec2635947ac","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b","requestID":"ec1c6fdb1415e3be2da36ec2635947ac"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:40Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.711336,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:40Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ec1c6fdb1415e3be2da36ec2635947ac","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843080,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4MH0.vIdodSovRw2eJAyb0aacfpFoMTNv15WMgA3FqNSWtZI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ec1c6fdb1415e3be2da36ec2635947ac","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b"},"level":"info","message":"Attempting to finish experiment","requestID":"ec1c6fdb1415e3be2da36ec2635947ac"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"c2189530-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:40Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.724329,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:40Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/26e7e310-4968-41a8-9340-97a21d154dfd","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c2189530-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:http://localhost/peerconnections/26e7e310-4968-41a8-9340-97a21d154dfd","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843080,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4MH0.vIdodSovRw2eJAyb0aacfpFoMTNv15WMgA3FqNSWtZI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c2189530-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/26e7e310-4968-41a8-9340-97a21d154dfd","device":"aecb49d8-15dc-425c-bd6f-d36875f54f8f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"145fc7f7-9f40-4d41-ba04-82c97ed672f4","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"145fc7f7-9f40-4d41-ba04-82c97ed672f4","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"145fc7f7-9f40-4d41-ba04-82c97ed672f4","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/26e7e310-4968-41a8-9340-97a21d154dfd' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/26e7e310-4968-41a8-9340-97a21d154dfd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"26e7e310-4968-41a8-9340-97a21d154dfd","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F26e7e310-4968-41a8-9340-97a21d154dfd': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F26e7e310-4968-41a8-9340-97a21d154dfd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"5f6ca665-5781-470e-b2c7-dc0506d91dd3","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843080.7450995} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1036a108-3a5d-467d-b9f0-687c80e0c309","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843080.745382} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"c2189530-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2d0d9d020bb5cf7782bbcfb9be191ba0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2d0d9d020bb5cf7782bbcfb9be191ba0","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4"},{"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/aecb49d8-15dc-425c-bd6f-d36875f54f8f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/26e7e310-4968-41a8-9340-97a21d154dfd"}}},"level":"info","message":"received a callback","requestID":"2d0d9d020bb5cf7782bbcfb9be191ba0"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"51b3e8b85b3d5d9237b3808226767f77","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"c2189530-242b-11f0-a4ab-3996a0934271"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"51b3e8b85b3d5d9237b3808226767f77","responseTime":0,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"DELETE /peerconnections/26e7e310-4968-41a8-9340-97a21d154dfd 204 44ms","method":"DELETE","requestID":"c2189530-242b-11f0-a4ab-3996a0934271","responseTime":44,"status":204,"url":"/peerconnections/26e7e310-4968-41a8-9340-97a21d154dfd"} 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/145fc7f7-9f40-4d41-ba04-82c97ed672f4"},{"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/aecb49d8-15dc-425c-bd6f-d36875f54f8f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/26e7e310-4968-41a8-9340-97a21d154dfd"}}},"level":"info","message":"received a callback","requestID":"51b3e8b85b3d5d9237b3808226767f77"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b"},"level":"info","message":"Successfully finished experiment","requestID":"ec1c6fdb1415e3be2da36ec2635947ac"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c224f140-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:40Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F145fc7f7-9f40-4d41-ba04-82c97ed672f4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"368b0512-381f-4390-8fa8-20fb9ac7ea79","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843080.79263} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.287481,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c224f140-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c224f140-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c224f140-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4/signaling 200 8ms","method":"POST","requestID":"c224f140-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c22677e0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:40Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"22ee82a9-33f8-42b2-8f87-a26731546cfa","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843080.8021796} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3ee96a26-dd1f-45d5-8e0f-34eb46342616","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843080.8024318} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faecb49d8-15dc-425c-bd6f-d36875f54f8f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"91199eb9-e297-491e-9613-ba8e274a99d9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843080.8025846} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"ec1c6fdb1415e3be2da36ec2635947ac","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.913025,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c22677e0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c22677e0-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c22677e0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f/signaling 200 9ms","method":"POST","requestID":"c22677e0-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/aecb49d8-15dc-425c-bd6f-d36875f54f8f/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b","requestID":"ec1c6fdb1415e3be2da36ec2635947ac"} gateway-1 | {"time_local":"28/Apr/2025:12:24:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.208","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ec1c6fdb1415e3be2da36ec2635947ac"} experiment-1 | {"level":"info","message":"DELETE /experiments/18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b 204 206ms","method":"DELETE","requestID":"ec1c6fdb1415e3be2da36ec2635947ac","responseTime":206,"status":204,"url":"/experiments/18d54ac7-04b3-4801-8ef4-3e2a8f3fe75b"} gateway-1 | {"time_local":"28/Apr/2025:12:24:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2578","request_time":"4.198","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"8bfd262d5dbb75782e747a2a3493c8bc"} gateway-1 | {"time_local":"28/Apr/2025:12:24: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.184","http_referrer":"","http_user_agent":"node-fetch","requestID":"2d0d9d020bb5cf7782bbcfb9be191ba0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 181ms","method":"POST","requestID":"2d0d9d020bb5cf7782bbcfb9be191ba0","responseTime":181,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 178ms","method":"POST","requestID":"51b3e8b85b3d5d9237b3808226767f77","responseTime":178,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24: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.183","http_referrer":"","http_user_agent":"node-fetch","requestID":"51b3e8b85b3d5d9237b3808226767f77"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4MH0.vIdodSovRw2eJAyb0aacfpFoMTNv15WMgA3FqNSWtZI","level":"info","message":"auth send jwt","requestID":"75a711ef2af4f97ba0d313c7ce65ccba"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"75a711ef2af4f97ba0d313c7ce65ccba","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"75a711ef2af4f97ba0d313c7ce65ccba"} gateway-1 | {"time_local":"28/Apr/2025:12:24:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2784","request_time":"2.856","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c23a062df8271d32bee36e86cc3124f6"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:40Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.891884,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:40Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/145fc7f7-9f40-4d41-ba04-82c97ed672f4' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"75a711ef2af4f97ba0d313c7ce65ccba","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843080,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4MH0.vIdodSovRw2eJAyb0aacfpFoMTNv15WMgA3FqNSWtZI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"75a711ef2af4f97ba0d313c7ce65ccba","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/aecb49d8-15dc-425c-bd6f-d36875f54f8f' 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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50098364-e2b3-418b-b20b-322936d5b6fa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7d10f63e-dc0c-4e14-9400-d4e80e4eba53","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843080.9524095} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"75a711ef2af4f97ba0d313c7ce65ccba","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bc87cff7-8bfb-415e-95d8-953ae1c9d3c4","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843080.9563544} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"75a711ef2af4f97ba0d313c7ce65ccba","responseTime":27,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50098364-e2b3-418b-b20b-322936d5b6fa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"ace21290-059d-4ace-a67b-4109c194e49a","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843080.9904025} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"03fedd06-6391-4f7b-9665-8af89604727a","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843080.9906688} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"75a711ef2af4f97ba0d313c7ce65ccba","responseTime":36,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50098364-e2b3-418b-b20b-322936d5b6fa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50098364-e2b3-418b-b20b-322936d5b6fa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:40.990366669Z"}]},"request_id":"f7b7d0c0-3ce9-4078-a19b-572dcb21d985","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843080.9948676} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"75a711ef2af4f97ba0d313c7ce65ccba","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"75a711ef2af4f97ba0d313c7ce65ccba"} gateway-1 | {"time_local":"28/Apr/2025:12:24:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.068","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"75a711ef2af4f97ba0d313c7ce65ccba"} device-1 | {"level":"info","message":"POST /devices? 201 63ms","method":"POST","requestID":"75a711ef2af4f97ba0d313c7ce65ccba","responseTime":63,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4MX0.--ORur_-U3l1bbBhpmqxAdKqua5rrPXxRaqiX9IahXQ","level":"info","message":"auth send jwt","requestID":"a6b50d0a2649e57b9ee2b271ff8bf3bb"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"a6b50d0a2649e57b9ee2b271ff8bf3bb","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a6b50d0a2649e57b9ee2b271ff8bf3bb"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.879676,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a6b50d0a2649e57b9ee2b271ff8bf3bb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843081,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4MX0.--ORur_-U3l1bbBhpmqxAdKqua5rrPXxRaqiX9IahXQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a6b50d0a2649e57b9ee2b271ff8bf3bb","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ad94930-d139-4326-94cb-91be13357269","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"53b28392-85b3-4ca7-8a9f-019f3832daa8","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843081.044906} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a6b50d0a2649e57b9ee2b271ff8bf3bb","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1d2ff2fa-4d38-4d9b-a7db-9ce9a51b1b44","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843081.0736346} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"a6b50d0a2649e57b9ee2b271ff8bf3bb","responseTime":28,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ad94930-d139-4326-94cb-91be13357269","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"ba9c6b12-d71b-44eb-a7f1-da46cefe064f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843081.0844805} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8208cf57-c8e0-423d-ae8c-d85dc34dda53","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843081.0846019} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"a6b50d0a2649e57b9ee2b271ff8bf3bb","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ad94930-d139-4326-94cb-91be13357269","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ad94930-d139-4326-94cb-91be13357269","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:41.084454146Z"}]},"request_id":"8753257a-0be1-48a4-b831-82468bdd6c71","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843081.0888033} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a6b50d0a2649e57b9ee2b271ff8bf3bb","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a6b50d0a2649e57b9ee2b271ff8bf3bb"} gateway-1 | {"time_local":"28/Apr/2025:12:24:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.092","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a6b50d0a2649e57b9ee2b271ff8bf3bb"} device-1 | {"level":"info","message":"POST /devices? 201 64ms","method":"POST","requestID":"a6b50d0a2649e57b9ee2b271ff8bf3bb","responseTime":64,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4Mn0.tWDw6FjfUomV165xKeKYDgdVC88fnQsyAeEpFwVlg9k","level":"info","message":"auth send jwt","requestID":"c9a401b4ba3b93a68b369e1f648d47b5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c9a401b4ba3b93a68b369e1f648d47b5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"c9a401b4ba3b93a68b369e1f648d47b5"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:42Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.569444,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/50098364-e2b3-418b-b20b-322936d5b6fa","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c9a401b4ba3b93a68b369e1f648d47b5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/50098364-e2b3-418b-b20b-322936d5b6fa","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843082,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4Mn0.tWDw6FjfUomV165xKeKYDgdVC88fnQsyAeEpFwVlg9k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c9a401b4ba3b93a68b369e1f648d47b5","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50098364-e2b3-418b-b20b-322936d5b6fa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50098364-e2b3-418b-b20b-322936d5b6fa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:40.990366669Z"}]},"request_id":"c75ee1b6-0f1f-43d0-b610-8b719017e092","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843082.0361495} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c9a401b4ba3b93a68b369e1f648d47b5","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8fa8ba88-89a9-428b-900a-fad4c2d5d5d0","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843082.0413263} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"c9a401b4ba3b93a68b369e1f648d47b5","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50098364-e2b3-418b-b20b-322936d5b6fa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50098364-e2b3-418b-b20b-322936d5b6fa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:40.990366669Z"}]},"request_id":"f266ce99-dbbf-4b09-ba7b-27e3375e79c9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843082.0504544} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c9a401b4ba3b93a68b369e1f648d47b5","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"c9a401b4ba3b93a68b369e1f648d47b5"} gateway-1 | {"time_local":"28/Apr/2025:12:24:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/50098364-e2b3-418b-b20b-322936d5b6fa HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.050","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"c9a401b4ba3b93a68b369e1f648d47b5"} device-1 | {"level":"info","message":"PATCH /devices/50098364-e2b3-418b-b20b-322936d5b6fa 200 46ms","method":"PATCH","requestID":"c9a401b4ba3b93a68b369e1f648d47b5","responseTime":46,"status":200,"url":"/devices/50098364-e2b3-418b-b20b-322936d5b6fa"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4Mn0.tWDw6FjfUomV165xKeKYDgdVC88fnQsyAeEpFwVlg9k","level":"info","message":"auth send jwt","requestID":"a0538c42056bb64bd65378ca485c27f5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a0538c42056bb64bd65378ca485c27f5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"a0538c42056bb64bd65378ca485c27f5"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:42Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.719528,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/50098364-e2b3-418b-b20b-322936d5b6fa","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a0538c42056bb64bd65378ca485c27f5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/50098364-e2b3-418b-b20b-322936d5b6fa","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843082,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4Mn0.tWDw6FjfUomV165xKeKYDgdVC88fnQsyAeEpFwVlg9k"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a0538c42056bb64bd65378ca485c27f5","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"a0538c42056bb64bd65378ca485c27f5"} gateway-1 | {"time_local":"28/Apr/2025:12:24:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/50098364-e2b3-418b-b20b-322936d5b6fa/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.041","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"a0538c42056bb64bd65378ca485c27f5"} device-1 | {"level":"info","message":"POST /devices/50098364-e2b3-418b-b20b-322936d5b6fa/websocket 200 13ms","method":"POST","requestID":"a0538c42056bb64bd65378ca485c27f5","responseTime":13,"status":200,"url":"/devices/50098364-e2b3-418b-b20b-322936d5b6fa/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/50098364-e2b3-418b-b20b-322936d5b6fa' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"23bc2f9065caa37b1bab3dcf229a892b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"23bc2f9065caa37b1bab3dcf229a892b","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:24:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/4ad94930-d139-4326-94cb-91be13357269/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":"23bc2f9065caa37b1bab3dcf229a892b"} device-1 | {"level":"info","message":"OPTIONS /devices/4ad94930-d139-4326-94cb-91be13357269/websocket 200 1ms","method":"OPTIONS","requestID":"23bc2f9065caa37b1bab3dcf229a892b","responseTime":1,"status":200,"url":"/devices/4ad94930-d139-4326-94cb-91be13357269/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4M30._EXEPjzedaoqA_IYltMNAVRJUIesyXnmsQIfBr7nljk","level":"info","message":"auth send jwt","requestID":"c40077c17d86d27aaaa9b5bb2fb0d8c2"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c40077c17d86d27aaaa9b5bb2fb0d8c2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"c40077c17d86d27aaaa9b5bb2fb0d8c2"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.351947,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ad94930-d139-4326-94cb-91be13357269","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c40077c17d86d27aaaa9b5bb2fb0d8c2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/4ad94930-d139-4326-94cb-91be13357269","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843083,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4M30._EXEPjzedaoqA_IYltMNAVRJUIesyXnmsQIfBr7nljk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c40077c17d86d27aaaa9b5bb2fb0d8c2","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"c40077c17d86d27aaaa9b5bb2fb0d8c2"} device-1 | {"level":"info","message":"POST /devices/4ad94930-d139-4326-94cb-91be13357269/websocket 200 22ms","method":"POST","requestID":"c40077c17d86d27aaaa9b5bb2fb0d8c2","responseTime":22,"status":200,"url":"/devices/4ad94930-d139-4326-94cb-91be13357269/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:24:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4ad94930-d139-4326-94cb-91be13357269/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":"c40077c17d86d27aaaa9b5bb2fb0d8c2"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4ad94930-d139-4326-94cb-91be13357269' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4M30._EXEPjzedaoqA_IYltMNAVRJUIesyXnmsQIfBr7nljk","level":"info","message":"auth send jwt","requestID":"15b39a190f859fa071901cd8c483bc6c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"15b39a190f859fa071901cd8c483bc6c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"15b39a190f859fa071901cd8c483bc6c"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.626341,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/50098364-e2b3-418b-b20b-322936d5b6fa","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"15b39a190f859fa071901cd8c483bc6c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/50098364-e2b3-418b-b20b-322936d5b6fa","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843083,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4M30._EXEPjzedaoqA_IYltMNAVRJUIesyXnmsQIfBr7nljk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"15b39a190f859fa071901cd8c483bc6c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50098364-e2b3-418b-b20b-322936d5b6fa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50098364-e2b3-418b-b20b-322936d5b6fa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:40.990366669Z"}]},"request_id":"794a44a8-69a9-4b62-8619-997b0b75732f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843083.4849055} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"15b39a190f859fa071901cd8c483bc6c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"15b39a190f859fa071901cd8c483bc6c"} gateway-1 | {"time_local":"28/Apr/2025:12:24:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/50098364-e2b3-418b-b20b-322936d5b6fa? 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":"15b39a190f859fa071901cd8c483bc6c"} device-1 | {"level":"info","message":"GET /devices/50098364-e2b3-418b-b20b-322936d5b6fa? 200 10ms","method":"GET","requestID":"15b39a190f859fa071901cd8c483bc6c","responseTime":10,"status":200,"url":"/devices/50098364-e2b3-418b-b20b-322936d5b6fa?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4M30._EXEPjzedaoqA_IYltMNAVRJUIesyXnmsQIfBr7nljk","level":"info","message":"auth send jwt","requestID":"84bd181cb68fa73ea8dcee2bd62858c5"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"84bd181cb68fa73ea8dcee2bd62858c5","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"84bd181cb68fa73ea8dcee2bd62858c5"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.866722,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ad94930-d139-4326-94cb-91be13357269","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"84bd181cb68fa73ea8dcee2bd62858c5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/4ad94930-d139-4326-94cb-91be13357269","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843083,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4M30._EXEPjzedaoqA_IYltMNAVRJUIesyXnmsQIfBr7nljk"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"84bd181cb68fa73ea8dcee2bd62858c5","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ad94930-d139-4326-94cb-91be13357269","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ad94930-d139-4326-94cb-91be13357269","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:41.084454146Z"}]},"request_id":"89db5e61-f467-4ab6-bbcb-13dfe0304831","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843083.526268} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"84bd181cb68fa73ea8dcee2bd62858c5","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"84bd181cb68fa73ea8dcee2bd62858c5"} device-1 | {"level":"info","message":"GET /devices/4ad94930-d139-4326-94cb-91be13357269? 200 35ms","method":"GET","requestID":"84bd181cb68fa73ea8dcee2bd62858c5","responseTime":35,"status":200,"url":"/devices/4ad94930-d139-4326-94cb-91be13357269?"} gateway-1 | {"time_local":"28/Apr/2025:12:24:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4ad94930-d139-4326-94cb-91be13357269? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"84bd181cb68fa73ea8dcee2bd62858c5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4M30._EXEPjzedaoqA_IYltMNAVRJUIesyXnmsQIfBr7nljk","level":"info","message":"auth send jwt","requestID":"16f88f25df8f59883128ad11d4ce0c07"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"16f88f25df8f59883128ad11d4ce0c07","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"16f88f25df8f59883128ad11d4ce0c07"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.86676,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"16f88f25df8f59883128ad11d4ce0c07","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843083,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4M30._EXEPjzedaoqA_IYltMNAVRJUIesyXnmsQIfBr7nljk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"16f88f25df8f59883128ad11d4ce0c07","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d41a0e12-65ba-45c0-a2d0-9412d57dc57d"},"level":"info","message":"Attempting to run experiment","requestID":"16f88f25df8f59883128ad11d4ce0c07"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d41a0e12-65ba-45c0-a2d0-9412d57dc57d"},"level":"info","message":"Attempting to book experiment","requestID":"16f88f25df8f59883128ad11d4ce0c07"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d41a0e12-65ba-45c0-a2d0-9412d57dc57d"},"level":"info","message":"Successfully booked experiment","requestID":"16f88f25df8f59883128ad11d4ce0c07"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c3d07e60-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c3d0cc80-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.654522,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/50098364-e2b3-418b-b20b-322936d5b6fa","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c3d07e60-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/50098364-e2b3-418b-b20b-322936d5b6fa","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843083,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4M30._EXEPjzedaoqA_IYltMNAVRJUIesyXnmsQIfBr7nljk"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"c3d07e60-242b-11f0-a4ab-3996a0934271","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35854","level":"info","msg":"Received request.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:43Z"} authorization-1 | {"client_addr":"127.0.0.1:35854","level":"info","msg":"Sent response.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.706602,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ad94930-d139-4326-94cb-91be13357269","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c3d0cc80-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/4ad94930-d139-4326-94cb-91be13357269","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843083,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4M30._EXEPjzedaoqA_IYltMNAVRJUIesyXnmsQIfBr7nljk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c3d0cc80-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50098364-e2b3-418b-b20b-322936d5b6fa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50098364-e2b3-418b-b20b-322936d5b6fa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:40.990366669Z"}]},"request_id":"f0b60959-7ec4-4941-a623-db58bfad908a","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843083.6217537} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c3d07e60-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ad94930-d139-4326-94cb-91be13357269","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ad94930-d139-4326-94cb-91be13357269","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:41.084454146Z"}]},"request_id":"a00968e4-d310-4969-9f2d-4fce7c26cd42","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843083.624478} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c3d07e60-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c3d0cc80-242b-11f0-a4ab-3996a0934271","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/50098364-e2b3-418b-b20b-322936d5b6fa? 200 35ms","method":"GET","requestID":"c3d07e60-242b-11f0-a4ab-3996a0934271","responseTime":35,"status":200,"url":"/devices/50098364-e2b3-418b-b20b-322936d5b6fa?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c3d0cc80-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/4ad94930-d139-4326-94cb-91be13357269? 200 36ms","method":"GET","requestID":"c3d0cc80-242b-11f0-a4ab-3996a0934271","responseTime":36,"status":200,"url":"/devices/4ad94930-d139-4326-94cb-91be13357269?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d41a0e12-65ba-45c0-a2d0-9412d57dc57d"},"level":"info","message":"Setting up experiment","requestID":"16f88f25df8f59883128ad11d4ce0c07"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d41a0e12-65ba-45c0-a2d0-9412d57dc57d"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"16f88f25df8f59883128ad11d4ce0c07"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d41a0e12-65ba-45c0-a2d0-9412d57dc57d"},"level":"info","message":"Successfully locked booking for experiment","requestID":"16f88f25df8f59883128ad11d4ce0c07"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d41a0e12-65ba-45c0-a2d0-9412d57dc57d"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"16f88f25df8f59883128ad11d4ce0c07"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d41a0e12-65ba-45c0-a2d0-9412d57dc57d"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"16f88f25df8f59883128ad11d4ce0c07"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d41a0e12-65ba-45c0-a2d0-9412d57dc57d"},"level":"info","message":"Attempting to update booking for experiment","requestID":"16f88f25df8f59883128ad11d4ce0c07"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d41a0e12-65ba-45c0-a2d0-9412d57dc57d"},"level":"info","message":"Successfully updated booking for experiment","requestID":"16f88f25df8f59883128ad11d4ce0c07"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d41a0e12-65ba-45c0-a2d0-9412d57dc57d"},"level":"info","message":"Successfully set up experiment","requestID":"16f88f25df8f59883128ad11d4ce0c07"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d41a0e12-65ba-45c0-a2d0-9412d57dc57d"},"level":"info","message":"Successfully running experiment","requestID":"16f88f25df8f59883128ad11d4ce0c07"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c3e00ec0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:35854","level":"info","msg":"Received request.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:43Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c3e36a20-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:35854","level":"info","msg":"Sent response.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.060959,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:43Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c3e39130-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/50098364-e2b3-418b-b20b-322936d5b6fa","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c3e00ec0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/50098364-e2b3-418b-b20b-322936d5b6fa","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843083,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4M30._EXEPjzedaoqA_IYltMNAVRJUIesyXnmsQIfBr7nljk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c3e00ec0-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.78595,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ad94930-d139-4326-94cb-91be13357269","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c3e36a20-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/4ad94930-d139-4326-94cb-91be13357269","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843083,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4M30._EXEPjzedaoqA_IYltMNAVRJUIesyXnmsQIfBr7nljk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c3e36a20-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:43Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50098364-e2b3-418b-b20b-322936d5b6fa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a3706fdc-5cea-4151-befe-9f5a9f5c7404","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843083.7225559} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ad94930-d139-4326-94cb-91be13357269","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ad94930-d139-4326-94cb-91be13357269","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:41.084454146Z"}]},"request_id":"eb80f83e-0d0a-41bc-bd02-9f081819660c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843083.7228856} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c3e36a20-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.372062,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/50098364-e2b3-418b-b20b-322936d5b6fa","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c3e39130-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/50098364-e2b3-418b-b20b-322936d5b6fa","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c3e39130-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50098364-e2b3-418b-b20b-322936d5b6fa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50098364-e2b3-418b-b20b-322936d5b6fa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:40.990366669Z"}]},"request_id":"df89d7b9-0bbb-4906-aed3-b41db90bb928","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843083.7237} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c3e00ec0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd41a0e12-65ba-45c0-a2d0-9412d57dc57d#owner@http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd41a0e12-65ba-45c0-a2d0-9412d57dc57d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"fd20f158-b051-4ef4-8534-15cc54c1110a","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843083.7276926} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c3e36a20-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b25c6d14-bd70-4cbf-ae67-3bea29528a50","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843083.727987} device-1 | {"level":"info","message":"GET /devices/4ad94930-d139-4326-94cb-91be13357269? 200 15ms","method":"GET","requestID":"c3e36a20-242b-11f0-a4ab-3996a0934271","responseTime":15,"status":200,"url":"/devices/4ad94930-d139-4326-94cb-91be13357269?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"16f88f25df8f59883128ad11d4ce0c07","responseTime":10,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c3e39130-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/50098364-e2b3-418b-b20b-322936d5b6fa/signaling 200 14ms","method":"POST","requestID":"c3e39130-242b-11f0-a4ab-3996a0934271","responseTime":14,"status":200,"url":"/devices/50098364-e2b3-418b-b20b-322936d5b6fa/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c3e00ec0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/50098364-e2b3-418b-b20b-322936d5b6fa? 200 38ms","method":"GET","requestID":"c3e00ec0-242b-11f0-a4ab-3996a0934271","responseTime":38,"status":200,"url":"/devices/50098364-e2b3-418b-b20b-322936d5b6fa?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c3e67760-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c3e69e70-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:43Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/d41a0e12-65ba-45c0-a2d0-9412d57dc57d","user":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"16f88f25df8f59883128ad11d4ce0c07"} experiment-1 | {"level":"info","message":"POST /experiments? 201 228ms","method":"POST","requestID":"16f88f25df8f59883128ad11d4ce0c07","responseTime":228,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"28/Apr/2025:12:24:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.233","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"16f88f25df8f59883128ad11d4ce0c07"} authorization-1 | {"client_addr":"127.0.0.1:35854","level":"info","msg":"Received request.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:43Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ad94930-d139-4326-94cb-91be13357269","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"13261216-1d5a-44ef-bef6-ffd6f97385a2","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843083.762327} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":28.409004,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ad94930-d139-4326-94cb-91be13357269","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c3e67760-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4ad94930-d139-4326-94cb-91be13357269","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"c3e67760-242b-11f0-a4ab-3996a0934271","responseTime":31,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50098364-e2b3-418b-b20b-322936d5b6fa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cdbfa7fb-9a74-4b6b-9d05-13bd995b6ba3","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843083.7657232} authorization-1 | {"client_addr":"127.0.0.1:35854","level":"info","msg":"Sent response.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.948472,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:43Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4M30._EXEPjzedaoqA_IYltMNAVRJUIesyXnmsQIfBr7nljk","level":"info","message":"auth send jwt","requestID":"fa9d8dbbfc9d31a5d46dd2e0866ff78e"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/50098364-e2b3-418b-b20b-322936d5b6fa","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c3e69e70-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/50098364-e2b3-418b-b20b-322936d5b6fa","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fa9d8dbbfc9d31a5d46dd2e0866ff78e","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"c3e69e70-242b-11f0-a4ab-3996a0934271","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c3e67760-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/4ad94930-d139-4326-94cb-91be13357269/signaling 200 35ms","method":"POST","requestID":"c3e67760-242b-11f0-a4ab-3996a0934271","responseTime":35,"status":200,"url":"/devices/4ad94930-d139-4326-94cb-91be13357269/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fa9d8dbbfc9d31a5d46dd2e0866ff78e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c3e69e70-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/50098364-e2b3-418b-b20b-322936d5b6fa/signaling 200 36ms","method":"POST","requestID":"c3e69e70-242b-11f0-a4ab-3996a0934271","responseTime":36,"status":200,"url":"/devices/50098364-e2b3-418b-b20b-322936d5b6fa/signaling"} authorization-1 | {"client_addr":"127.0.0.1:35854","level":"info","msg":"Received request.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:43Z"} authorization-1 | {"client_addr":"127.0.0.1:35854","level":"info","msg":"Sent response.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.745168,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/50098364-e2b3-418b-b20b-322936d5b6fa","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"fa9d8dbbfc9d31a5d46dd2e0866ff78e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/50098364-e2b3-418b-b20b-322936d5b6fa","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843083,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4M30._EXEPjzedaoqA_IYltMNAVRJUIesyXnmsQIfBr7nljk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fa9d8dbbfc9d31a5d46dd2e0866ff78e","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c3ec6ad0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:35854","level":"info","msg":"Received request.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:43Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50098364-e2b3-418b-b20b-322936d5b6fa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50098364-e2b3-418b-b20b-322936d5b6fa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:40.990366669Z"}]},"request_id":"a5c598c4-2423-4c55-bca0-2ab19cc63aae","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843083.777482} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ad94930-d139-4326-94cb-91be13357269","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e253a59a-6551-4b43-8d0a-becb8f1b231d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843083.777671} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fa9d8dbbfc9d31a5d46dd2e0866ff78e","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:35854","level":"info","msg":"Sent response.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.911766,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ad94930-d139-4326-94cb-91be13357269","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c3ec6ad0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4ad94930-d139-4326-94cb-91be13357269","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c3ec6ad0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fa9d8dbbfc9d31a5d46dd2e0866ff78e"} device-1 | {"level":"info","message":"GET /devices/50098364-e2b3-418b-b20b-322936d5b6fa? 200 12ms","method":"GET","requestID":"fa9d8dbbfc9d31a5d46dd2e0866ff78e","responseTime":12,"status":200,"url":"/devices/50098364-e2b3-418b-b20b-322936d5b6fa?"} gateway-1 | {"time_local":"28/Apr/2025:12:24:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/50098364-e2b3-418b-b20b-322936d5b6fa? 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":"fa9d8dbbfc9d31a5d46dd2e0866ff78e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c3ec6ad0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/4ad94930-d139-4326-94cb-91be13357269/signaling 200 9ms","method":"POST","requestID":"c3ec6ad0-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/4ad94930-d139-4326-94cb-91be13357269/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d41a0e12-65ba-45c0-a2d0-9412d57dc57d"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"16f88f25df8f59883128ad11d4ce0c07"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d41a0e12-65ba-45c0-a2d0-9412d57dc57d"},"level":"info","message":"Building connection plan","requestID":"16f88f25df8f59883128ad11d4ce0c07"} 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":"780c99b2-38a4-4687-b30d-6c9d72cbad89"},{"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":"e7642b7d-02a8-41bb-84e8-0d04ee3f37e5"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"26e84e85-153d-4e21-9113-bc8114e48d54"}]},"level":"info","message":"Built pairwise service configurations","requestID":"16f88f25df8f59883128ad11d4ce0c07"} 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/4ad94930-d139-4326-94cb-91be13357269"},{"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/50098364-e2b3-418b-b20b-322936d5b6fa"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"16f88f25df8f59883128ad11d4ce0c07"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4M30._EXEPjzedaoqA_IYltMNAVRJUIesyXnmsQIfBr7nljk","level":"info","message":"auth send jwt","requestID":"7b5b5b761b0017993a8423fd84b544ea"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"c3f1e910-242b-11f0-a4ab-3996a0934271"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"7b5b5b761b0017993a8423fd84b544ea","responseTime":26,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7b5b5b761b0017993a8423fd84b544ea"} authorization-1 | {"client_addr":"127.0.0.1:35854","level":"info","msg":"Received request.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:43Z"} authorization-1 | {"client_addr":"127.0.0.1:35854","level":"info","msg":"Sent response.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.632854,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c3f1e910-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843083,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4M30._EXEPjzedaoqA_IYltMNAVRJUIesyXnmsQIfBr7nljk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c3f1e910-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.559114,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ad94930-d139-4326-94cb-91be13357269","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"7b5b5b761b0017993a8423fd84b544ea","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/4ad94930-d139-4326-94cb-91be13357269","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843083,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4M30._EXEPjzedaoqA_IYltMNAVRJUIesyXnmsQIfBr7nljk"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"7b5b5b761b0017993a8423fd84b544ea","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ad94930-d139-4326-94cb-91be13357269","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ad94930-d139-4326-94cb-91be13357269","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:41.084454146Z"}]},"request_id":"8865c236-8c31-424c-84a1-4040caa836e3","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843083.8174865} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7b5b5b761b0017993a8423fd84b544ea","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7b5b5b761b0017993a8423fd84b544ea"} gateway-1 | {"time_local":"28/Apr/2025:12:24:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4ad94930-d139-4326-94cb-91be13357269? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7b5b5b761b0017993a8423fd84b544ea"} device-1 | {"level":"info","message":"GET /devices/4ad94930-d139-4326-94cb-91be13357269? 200 9ms","method":"GET","requestID":"7b5b5b761b0017993a8423fd84b544ea","responseTime":9,"status":200,"url":"/devices/4ad94930-d139-4326-94cb-91be13357269?"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","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%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"ac83918f-76aa-45e1-b0d3-9e0f159d77c8","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843083.821333} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9f463271-a90d-46fb-af6c-6731332ac2cf","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843083.8216496} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"c3f1e910-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"c3f1e910-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"c3f1e910-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/73db031f-f550-427c-8ce6-7fdf051efd1a'","requestID":"c3f1e910-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/73db031f-f550-427c-8ce6-7fdf051efd1a'","requestID":"c3f1e910-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"c3f1e910-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 22ms","method":"POST","requestID":"c3f1e910-242b-11f0-a4ab-3996a0934271","responseTime":22,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"c3f1e910-242b-11f0-a4ab-3996a0934271"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/73db031f-f550-427c-8ce6-7fdf051efd1a","device":"4ad94930-d139-4326-94cb-91be13357269","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/d41a0e12-65ba-45c0-a2d0-9412d57dc57d"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"16f88f25df8f59883128ad11d4ce0c07"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c400dd30-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:43Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50098364-e2b3-418b-b20b-322936d5b6fa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fe87c3b3-f0f8-430a-aa6d-bfec31997987","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843083.9117181} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.561967,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/50098364-e2b3-418b-b20b-322936d5b6fa","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c400dd30-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/50098364-e2b3-418b-b20b-322936d5b6fa","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c400dd30-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c400dd30-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/50098364-e2b3-418b-b20b-322936d5b6fa/signaling 200 11ms","method":"POST","requestID":"c400dd30-242b-11f0-a4ab-3996a0934271","responseTime":11,"status":200,"url":"/devices/50098364-e2b3-418b-b20b-322936d5b6fa/signaling"} device-1 | {"device":"4ad94930-d139-4326-94cb-91be13357269","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"4ad94930-d139-4326-94cb-91be13357269","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c402d900-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:43Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ad94930-d139-4326-94cb-91be13357269","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a658a505-ea04-45eb-b523-33591064afc7","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843083.9241843} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.102942,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ad94930-d139-4326-94cb-91be13357269","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c402d900-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4ad94930-d139-4326-94cb-91be13357269","object_type":"device","rebac_allow":false,"scope_allow":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":"c402d900-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c402d900-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/4ad94930-d139-4326-94cb-91be13357269/signaling 200 8ms","method":"POST","requestID":"c402d900-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/4ad94930-d139-4326-94cb-91be13357269/signaling"} device-1 | {"device":"50098364-e2b3-418b-b20b-322936d5b6fa","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"73db031f-f550-427c-8ce6-7fdf051efd1a","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 4024096965500993598 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:iS3D\r\na=ice-pwd:/pwtzw+H0UilZIjU4gcg0yda\r\na=ice-options:trickle\r\na=fingerprint:sha-256 46:34:4D:22:AC:7F:C8:A5:39:31:D0:22:10:D0:0B:D3:2D:66:D8:34:DB:55:71:FB:E3:9F:EC:1F:D9:62:4D:86\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"4ad94930-d139-4326-94cb-91be13357269","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2295897594 1 udp 2113937151 9a1c6d54-4734-4642-947f-cd19b0b36370.local 37273 typ host generation 0 ufrag iS3D network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"4ad94930-d139-4326-94cb-91be13357269","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"4ad94930-d139-4326-94cb-91be13357269","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/73db031f-f550-427c-8ce6-7fdf051efd1a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"73db031f-f550-427c-8ce6-7fdf051efd1a","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"4ad94930-d139-4326-94cb-91be13357269","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5d171e7e4ce9c9ede030071782deaf6b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"5d171e7e4ce9c9ede030071782deaf6b","responseTime":0,"status":200,"url":"/auth"} device-1 | {"device":"50098364-e2b3-418b-b20b-322936d5b6fa","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"50098364-e2b3-418b-b20b-322936d5b6fa","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"50098364-e2b3-418b-b20b-322936d5b6fa","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/4ad94930-d139-4326-94cb-91be13357269"},{"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/50098364-e2b3-418b-b20b-322936d5b6fa"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/73db031f-f550-427c-8ce6-7fdf051efd1a"}}},"level":"info","message":"received a callback","requestID":"5d171e7e4ce9c9ede030071782deaf6b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"5d171e7e4ce9c9ede030071782deaf6b","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24: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":"5d171e7e4ce9c9ede030071782deaf6b"} device-1 | {"data":{"peerconnection":"73db031f-f550-427c-8ce6-7fdf051efd1a","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"50098364-e2b3-418b-b20b-322936d5b6fa","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4ad94930-d139-4326-94cb-91be13357269","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"50098364-e2b3-418b-b20b-322936d5b6fa","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"73db031f-f550-427c-8ce6-7fdf051efd1a","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"4ad94930-d139-4326-94cb-91be13357269","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/73db031f-f550-427c-8ce6-7fdf051efd1a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"73db031f-f550-427c-8ce6-7fdf051efd1a","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"58cfbfb5ba8260ebb2ebf1f90ba302cd","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"58cfbfb5ba8260ebb2ebf1f90ba302cd","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/4ad94930-d139-4326-94cb-91be13357269"},{"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/50098364-e2b3-418b-b20b-322936d5b6fa"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/73db031f-f550-427c-8ce6-7fdf051efd1a"}}},"level":"info","message":"received a callback","requestID":"58cfbfb5ba8260ebb2ebf1f90ba302cd"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"c53dca00-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:45Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F73db031f-f550-427c-8ce6-7fdf051efd1a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fe1ca05e-d7dd-4680-bf64-e8eb7c9461b5","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843085.9880478} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.241136,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/73db031f-f550-427c-8ce6-7fdf051efd1a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c53dca00-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/73db031f-f550-427c-8ce6-7fdf051efd1a","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":"c53dca00-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"c53dca00-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /peerconnections/73db031f-f550-427c-8ce6-7fdf051efd1a 200 7ms","method":"GET","requestID":"c53dca00-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/peerconnections/73db031f-f550-427c-8ce6-7fdf051efd1a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 52ms","method":"POST","requestID":"58cfbfb5ba8260ebb2ebf1f90ba302cd","responseTime":52,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch","requestID":"58cfbfb5ba8260ebb2ebf1f90ba302cd"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c5451d00-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:46Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ad94930-d139-4326-94cb-91be13357269","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4cb30120-3887-4fa2-bf2e-00e901bf0320","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843086.0370734} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.761438,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ad94930-d139-4326-94cb-91be13357269","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c5451d00-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4ad94930-d139-4326-94cb-91be13357269","object_type":"device","rebac_allow":false,"scope_allow":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":"c5451d00-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c5451d00-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/4ad94930-d139-4326-94cb-91be13357269/signaling 200 37ms","method":"POST","requestID":"c5451d00-242b-11f0-a4ab-3996a0934271","responseTime":37,"status":200,"url":"/devices/4ad94930-d139-4326-94cb-91be13357269/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c54b1070-242b-11f0-a4ab-3996a0934271"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4Nn0.Yp3H7bt-AatY3bVNKt6l4c8u5Qk6upeds0qpj8m7WEQ","level":"info","message":"auth send jwt","requestID":"132f0e52a1d071ed86d8fc2d8ddc775b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"132f0e52a1d071ed86d8fc2d8ddc775b","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/d41a0e12-65ba-45c0-a2d0-9412d57dc57d","requestID":"132f0e52a1d071ed86d8fc2d8ddc775b"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:46Z"} authorization-1 | {"client_addr":"127.0.0.1:35854","level":"info","msg":"Received request.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:46Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50098364-e2b3-418b-b20b-322936d5b6fa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"20e39789-8e53-4f85-a454-b1828013866f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843086.0758927} authorization-1 | {"client_addr":"127.0.0.1:35854","level":"info","msg":"Sent response.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.540176,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:46Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.516504,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d41a0e12-65ba-45c0-a2d0-9412d57dc57d","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"132f0e52a1d071ed86d8fc2d8ddc775b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/d41a0e12-65ba-45c0-a2d0-9412d57dc57d","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843086,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4Nn0.Yp3H7bt-AatY3bVNKt6l4c8u5Qk6upeds0qpj8m7WEQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"132f0e52a1d071ed86d8fc2d8ddc775b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/50098364-e2b3-418b-b20b-322936d5b6fa","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c54b1070-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/50098364-e2b3-418b-b20b-322936d5b6fa","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c54b1070-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c54b1070-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/50098364-e2b3-418b-b20b-322936d5b6fa/signaling 200 10ms","method":"POST","requestID":"c54b1070-242b-11f0-a4ab-3996a0934271","responseTime":10,"status":200,"url":"/devices/50098364-e2b3-418b-b20b-322936d5b6fa/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/d41a0e12-65ba-45c0-a2d0-9412d57dc57d","requestID":"132f0e52a1d071ed86d8fc2d8ddc775b"} gateway-1 | {"time_local":"28/Apr/2025:12:24:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/d41a0e12-65ba-45c0-a2d0-9412d57dc57d HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"132f0e52a1d071ed86d8fc2d8ddc775b"} experiment-1 | {"level":"info","message":"GET /experiments/d41a0e12-65ba-45c0-a2d0-9412d57dc57d 200 10ms","method":"GET","requestID":"132f0e52a1d071ed86d8fc2d8ddc775b","responseTime":10,"status":200,"url":"/experiments/d41a0e12-65ba-45c0-a2d0-9412d57dc57d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4Nn0.Yp3H7bt-AatY3bVNKt6l4c8u5Qk6upeds0qpj8m7WEQ","level":"info","message":"auth send jwt","requestID":"1d902d3ae5fdfe7b8096a8021268aac3"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1d902d3ae5fdfe7b8096a8021268aac3","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/d41a0e12-65ba-45c0-a2d0-9412d57dc57d","requestID":"1d902d3ae5fdfe7b8096a8021268aac3"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:46Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.778829,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:46Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d41a0e12-65ba-45c0-a2d0-9412d57dc57d","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"1d902d3ae5fdfe7b8096a8021268aac3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/d41a0e12-65ba-45c0-a2d0-9412d57dc57d","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843086,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4Nn0.Yp3H7bt-AatY3bVNKt6l4c8u5Qk6upeds0qpj8m7WEQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"1d902d3ae5fdfe7b8096a8021268aac3","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d41a0e12-65ba-45c0-a2d0-9412d57dc57d"},"level":"info","message":"Attempting to finish experiment","requestID":"1d902d3ae5fdfe7b8096a8021268aac3"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"c5528a80-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:46Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.844223,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:46Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/73db031f-f550-427c-8ce6-7fdf051efd1a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c5528a80-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:http://localhost/peerconnections/73db031f-f550-427c-8ce6-7fdf051efd1a","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843086,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4Nn0.Yp3H7bt-AatY3bVNKt6l4c8u5Qk6upeds0qpj8m7WEQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"c5528a80-242b-11f0-a4ab-3996a0934271","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/73db031f-f550-427c-8ce6-7fdf051efd1a","device":"4ad94930-d139-4326-94cb-91be13357269","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"50098364-e2b3-418b-b20b-322936d5b6fa","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"50098364-e2b3-418b-b20b-322936d5b6fa","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"50098364-e2b3-418b-b20b-322936d5b6fa","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/73db031f-f550-427c-8ce6-7fdf051efd1a' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/73db031f-f550-427c-8ce6-7fdf051efd1a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"73db031f-f550-427c-8ce6-7fdf051efd1a","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7930f7740fc19f9b13091ec3a93765bf","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F73db031f-f550-427c-8ce6-7fdf051efd1a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F73db031f-f550-427c-8ce6-7fdf051efd1a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"ad0fe875-adf4-4816-aeaa-c32a0dc19963","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843086.135921} authentication-1 | {"level":"info","message":"GET /auth 200 25ms","method":"GET","requestID":"7930f7740fc19f9b13091ec3a93765bf","responseTime":25,"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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c0a8f776-8c3c-4972-9e47-fcfb3b1620b9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843086.1362376} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f14eff86ff13c77e70b542cedebb8364","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/4ad94930-d139-4326-94cb-91be13357269"},{"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/50098364-e2b3-418b-b20b-322936d5b6fa"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/73db031f-f550-427c-8ce6-7fdf051efd1a"}}},"level":"info","message":"received a callback","requestID":"7930f7740fc19f9b13091ec3a93765bf"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f14eff86ff13c77e70b542cedebb8364","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"c5528a80-242b-11f0-a4ab-3996a0934271","responseTime":34,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/4ad94930-d139-4326-94cb-91be13357269"},{"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/50098364-e2b3-418b-b20b-322936d5b6fa"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/73db031f-f550-427c-8ce6-7fdf051efd1a"}}},"level":"info","message":"received a callback","requestID":"f14eff86ff13c77e70b542cedebb8364"} device-1 | {"data":{"peerconnection":"73db031f-f550-427c-8ce6-7fdf051efd1a","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"c5528a80-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"DELETE /peerconnections/73db031f-f550-427c-8ce6-7fdf051efd1a 204 56ms","method":"DELETE","requestID":"c5528a80-242b-11f0-a4ab-3996a0934271","responseTime":56,"status":204,"url":"/peerconnections/73db031f-f550-427c-8ce6-7fdf051efd1a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d41a0e12-65ba-45c0-a2d0-9412d57dc57d"},"level":"info","message":"Successfully finished experiment","requestID":"1d902d3ae5fdfe7b8096a8021268aac3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c5606d30-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:46Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4ad94930-d139-4326-94cb-91be13357269","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6c3957ad-1c53-4e23-9a7c-3a18121c5145","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843086.215113} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.311912,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4ad94930-d139-4326-94cb-91be13357269","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c5606d30-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4ad94930-d139-4326-94cb-91be13357269","object_type":"device","rebac_allow":false,"scope_allow":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":"c5606d30-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c5606d30-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/4ad94930-d139-4326-94cb-91be13357269/signaling 200 8ms","method":"POST","requestID":"c5606d30-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/4ad94930-d139-4326-94cb-91be13357269/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c561f3d0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:46Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50098364-e2b3-418b-b20b-322936d5b6fa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d4f91e22-5ea0-43c5-a556-7c737d225b51","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843086.224601} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.28094,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/50098364-e2b3-418b-b20b-322936d5b6fa","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c561f3d0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/50098364-e2b3-418b-b20b-322936d5b6fa","object_type":"device","rebac_allow":false,"scope_allow":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":"c561f3d0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd41a0e12-65ba-45c0-a2d0-9412d57dc57d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd41a0e12-65ba-45c0-a2d0-9412d57dc57d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"3872f6cf-3338-4071-a5d8-b6a6e08b9df9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843086.2256484} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"639dd462-c5f0-4db9-8d3a-97b5077694f9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843086.2258303} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"1d902d3ae5fdfe7b8096a8021268aac3","responseTime":18,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c561f3d0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/50098364-e2b3-418b-b20b-322936d5b6fa/signaling 200 8ms","method":"POST","requestID":"c561f3d0-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/50098364-e2b3-418b-b20b-322936d5b6fa/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/d41a0e12-65ba-45c0-a2d0-9412d57dc57d","requestID":"1d902d3ae5fdfe7b8096a8021268aac3"} gateway-1 | {"time_local":"28/Apr/2025:12:24:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/d41a0e12-65ba-45c0-a2d0-9412d57dc57d HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.240","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1d902d3ae5fdfe7b8096a8021268aac3"} experiment-1 | {"level":"info","message":"DELETE /experiments/d41a0e12-65ba-45c0-a2d0-9412d57dc57d 204 238ms","method":"DELETE","requestID":"1d902d3ae5fdfe7b8096a8021268aac3","responseTime":238,"status":204,"url":"/experiments/d41a0e12-65ba-45c0-a2d0-9412d57dc57d"} gateway-1 | {"time_local":"28/Apr/2025:12:24:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2531","request_time":"4.229","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"c25f779c6ed8d590d1a94e2aa2ca67dc"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 166ms","method":"POST","requestID":"7930f7740fc19f9b13091ec3a93765bf","responseTime":166,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.192","http_referrer":"","http_user_agent":"node-fetch","requestID":"7930f7740fc19f9b13091ec3a93765bf"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 165ms","method":"POST","requestID":"f14eff86ff13c77e70b542cedebb8364","responseTime":165,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.217","http_referrer":"","http_user_agent":"node-fetch","requestID":"f14eff86ff13c77e70b542cedebb8364"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4Nn0.Yp3H7bt-AatY3bVNKt6l4c8u5Qk6upeds0qpj8m7WEQ","level":"info","message":"auth send jwt","requestID":"5ffd07f0b38dc7c715e4ed6457d5def7"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"5ffd07f0b38dc7c715e4ed6457d5def7","responseTime":28,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"5ffd07f0b38dc7c715e4ed6457d5def7"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:46Z"} gateway-1 | {"time_local":"28/Apr/2025:12:24:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2787","request_time":"2.896","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e5ae04742e843de4a98d4db867ae4cdb"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.894601,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"5ffd07f0b38dc7c715e4ed6457d5def7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843086,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4Nn0.Yp3H7bt-AatY3bVNKt6l4c8u5Qk6upeds0qpj8m7WEQ"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/50098364-e2b3-418b-b20b-322936d5b6fa' closed"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5ffd07f0b38dc7c715e4ed6457d5def7","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde91b6f0-155c-4a71-a622-bba772c4eba4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b7bfacbc-7cba-4da4-a31c-1cd7ddf095e7","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843086.371886} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5ffd07f0b38dc7c715e4ed6457d5def7","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/4ad94930-d139-4326-94cb-91be13357269' 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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7c16a383-62ff-4004-81d4-786e5264d31e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843086.3765717} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"5ffd07f0b38dc7c715e4ed6457d5def7","responseTime":28,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde91b6f0-155c-4a71-a622-bba772c4eba4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"8c26b2e0-892d-4928-96a1-5afb0854af97","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843086.4141302} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b6bab12a-60bc-4b3e-8615-c44b05dd9467","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843086.4142194} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"5ffd07f0b38dc7c715e4ed6457d5def7","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde91b6f0-155c-4a71-a622-bba772c4eba4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde91b6f0-155c-4a71-a622-bba772c4eba4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:46.414108901Z"}]},"request_id":"87c9265f-0c01-4d98-97f6-86a681e6737f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843086.4184947} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5ffd07f0b38dc7c715e4ed6457d5def7","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"5ffd07f0b38dc7c715e4ed6457d5def7"} gateway-1 | {"time_local":"28/Apr/2025:12:24:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.094","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5ffd07f0b38dc7c715e4ed6457d5def7"} device-1 | {"level":"info","message":"POST /devices? 201 65ms","method":"POST","requestID":"5ffd07f0b38dc7c715e4ed6457d5def7","responseTime":65,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4Nn0.Yp3H7bt-AatY3bVNKt6l4c8u5Qk6upeds0qpj8m7WEQ","level":"info","message":"auth send jwt","requestID":"ba1dea9f95a551dc200e2f95fa462e00"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ba1dea9f95a551dc200e2f95fa462e00","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"ba1dea9f95a551dc200e2f95fa462e00"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:46Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.690248,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ba1dea9f95a551dc200e2f95fa462e00","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843086,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4Nn0.Yp3H7bt-AatY3bVNKt6l4c8u5Qk6upeds0qpj8m7WEQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ba1dea9f95a551dc200e2f95fa462e00","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92e9112d-66bc-4ffd-9d8b-3f1174018788","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7c562215-cac5-4f74-991a-ec2d6a5b083d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843086.464844} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ba1dea9f95a551dc200e2f95fa462e00","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"14b72c13-042e-4970-a0ee-a8307d2db721","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843086.5064838} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"ba1dea9f95a551dc200e2f95fa462e00","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92e9112d-66bc-4ffd-9d8b-3f1174018788","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"9a463322-2e19-401d-b83c-5a3d94366d5b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843086.5157983} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"08e75ed9-1355-42d3-aac4-fc28ff88f953","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843086.5160148} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"ba1dea9f95a551dc200e2f95fa462e00","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92e9112d-66bc-4ffd-9d8b-3f1174018788","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92e9112d-66bc-4ffd-9d8b-3f1174018788","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:46.515777868Z"}]},"request_id":"567c49be-beb0-4d1d-82a1-1e8dabc9d68b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843086.5201204} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"ba1dea9f95a551dc200e2f95fa462e00"} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"ba1dea9f95a551dc200e2f95fa462e00","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices? 201 97ms","method":"POST","requestID":"ba1dea9f95a551dc200e2f95fa462e00","responseTime":97,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:24:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.125","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ba1dea9f95a551dc200e2f95fa462e00"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4N30.L7Zv9KdNDcW0t9Ljopx_iwQ7yi6xCACKyY2lVlmOhd0","level":"info","message":"auth send jwt","requestID":"3d4a5911f4b0d06f1aa1a250eb5111d7"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3d4a5911f4b0d06f1aa1a250eb5111d7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"3d4a5911f4b0d06f1aa1a250eb5111d7"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:47Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.774883,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/de91b6f0-155c-4a71-a622-bba772c4eba4","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"3d4a5911f4b0d06f1aa1a250eb5111d7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/de91b6f0-155c-4a71-a622-bba772c4eba4","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843087,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4N30.L7Zv9KdNDcW0t9Ljopx_iwQ7yi6xCACKyY2lVlmOhd0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3d4a5911f4b0d06f1aa1a250eb5111d7","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde91b6f0-155c-4a71-a622-bba772c4eba4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde91b6f0-155c-4a71-a622-bba772c4eba4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:46.414108901Z"}]},"request_id":"ec390a54-6564-45d5-ac0b-0f5055f217e5","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843087.4671586} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3d4a5911f4b0d06f1aa1a250eb5111d7","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a5599ac3-9ef2-4bb6-81d3-d61ddd2ae056","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843087.4716706} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"3d4a5911f4b0d06f1aa1a250eb5111d7","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde91b6f0-155c-4a71-a622-bba772c4eba4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde91b6f0-155c-4a71-a622-bba772c4eba4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:46.414108901Z"}]},"request_id":"a731bd70-2741-4860-aa83-be23921357ab","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843087.4826376} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"3d4a5911f4b0d06f1aa1a250eb5111d7","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"3d4a5911f4b0d06f1aa1a250eb5111d7"} gateway-1 | {"time_local":"28/Apr/2025:12:24:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/de91b6f0-155c-4a71-a622-bba772c4eba4 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.076","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"3d4a5911f4b0d06f1aa1a250eb5111d7"} device-1 | {"level":"info","message":"PATCH /devices/de91b6f0-155c-4a71-a622-bba772c4eba4 200 70ms","method":"PATCH","requestID":"3d4a5911f4b0d06f1aa1a250eb5111d7","responseTime":70,"status":200,"url":"/devices/de91b6f0-155c-4a71-a622-bba772c4eba4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4N30.L7Zv9KdNDcW0t9Ljopx_iwQ7yi6xCACKyY2lVlmOhd0","level":"info","message":"auth send jwt","requestID":"596295d031d79d7677b520a255b1a261"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"596295d031d79d7677b520a255b1a261","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"596295d031d79d7677b520a255b1a261"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:47Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.700706,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/de91b6f0-155c-4a71-a622-bba772c4eba4","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"596295d031d79d7677b520a255b1a261","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/de91b6f0-155c-4a71-a622-bba772c4eba4","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843087,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4N30.L7Zv9KdNDcW0t9Ljopx_iwQ7yi6xCACKyY2lVlmOhd0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"596295d031d79d7677b520a255b1a261","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"596295d031d79d7677b520a255b1a261"} device-1 | {"level":"info","message":"POST /devices/de91b6f0-155c-4a71-a622-bba772c4eba4/websocket 200 15ms","method":"POST","requestID":"596295d031d79d7677b520a255b1a261","responseTime":15,"status":200,"url":"/devices/de91b6f0-155c-4a71-a622-bba772c4eba4/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:24:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/de91b6f0-155c-4a71-a622-bba772c4eba4/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.020","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"596295d031d79d7677b520a255b1a261"} device-1 | {"level":"info","message":"device 'http://localhost/devices/de91b6f0-155c-4a71-a622-bba772c4eba4' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d7ee456fec8e89969c789b1f316f18db","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"d7ee456fec8e89969c789b1f316f18db","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:24:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/92e9112d-66bc-4ffd-9d8b-3f1174018788/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.006","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d7ee456fec8e89969c789b1f316f18db"} device-1 | {"level":"info","message":"OPTIONS /devices/92e9112d-66bc-4ffd-9d8b-3f1174018788/websocket 200 2ms","method":"OPTIONS","requestID":"d7ee456fec8e89969c789b1f316f18db","responseTime":2,"status":200,"url":"/devices/92e9112d-66bc-4ffd-9d8b-3f1174018788/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4OH0.W_1m26fGikebbaRKcsmfw2-_AV5gobYHQ-TN-R0uAN0","level":"info","message":"auth send jwt","requestID":"deeeb03c5586b4a23e44378e60f894bd"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"deeeb03c5586b4a23e44378e60f894bd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"deeeb03c5586b4a23e44378e60f894bd"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:48Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.302735,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/92e9112d-66bc-4ffd-9d8b-3f1174018788","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"deeeb03c5586b4a23e44378e60f894bd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/92e9112d-66bc-4ffd-9d8b-3f1174018788","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843088,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4OH0.W_1m26fGikebbaRKcsmfw2-_AV5gobYHQ-TN-R0uAN0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"deeeb03c5586b4a23e44378e60f894bd","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"deeeb03c5586b4a23e44378e60f894bd"} device-1 | {"level":"info","message":"POST /devices/92e9112d-66bc-4ffd-9d8b-3f1174018788/websocket 200 21ms","method":"POST","requestID":"deeeb03c5586b4a23e44378e60f894bd","responseTime":21,"status":200,"url":"/devices/92e9112d-66bc-4ffd-9d8b-3f1174018788/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:24:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/92e9112d-66bc-4ffd-9d8b-3f1174018788/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":"deeeb03c5586b4a23e44378e60f894bd"} device-1 | {"level":"info","message":"device 'http://localhost/devices/92e9112d-66bc-4ffd-9d8b-3f1174018788' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4OH0.W_1m26fGikebbaRKcsmfw2-_AV5gobYHQ-TN-R0uAN0","level":"info","message":"auth send jwt","requestID":"89eb7e627eed49f12e2ab66708d91d6c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"89eb7e627eed49f12e2ab66708d91d6c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"89eb7e627eed49f12e2ab66708d91d6c"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:48Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.945406,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/de91b6f0-155c-4a71-a622-bba772c4eba4","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"89eb7e627eed49f12e2ab66708d91d6c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/de91b6f0-155c-4a71-a622-bba772c4eba4","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843088,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4OH0.W_1m26fGikebbaRKcsmfw2-_AV5gobYHQ-TN-R0uAN0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"89eb7e627eed49f12e2ab66708d91d6c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde91b6f0-155c-4a71-a622-bba772c4eba4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde91b6f0-155c-4a71-a622-bba772c4eba4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:46.414108901Z"}]},"request_id":"c856a5e4-308d-4293-8122-88405445685a","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843088.8125315} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"89eb7e627eed49f12e2ab66708d91d6c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"89eb7e627eed49f12e2ab66708d91d6c"} device-1 | {"level":"info","message":"GET /devices/de91b6f0-155c-4a71-a622-bba772c4eba4? 200 12ms","method":"GET","requestID":"89eb7e627eed49f12e2ab66708d91d6c","responseTime":12,"status":200,"url":"/devices/de91b6f0-155c-4a71-a622-bba772c4eba4?"} gateway-1 | {"time_local":"28/Apr/2025:12:24:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/de91b6f0-155c-4a71-a622-bba772c4eba4? 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":"89eb7e627eed49f12e2ab66708d91d6c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4OH0.W_1m26fGikebbaRKcsmfw2-_AV5gobYHQ-TN-R0uAN0","level":"info","message":"auth send jwt","requestID":"bcad0191fbe798afd96d6cbecc62f44a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bcad0191fbe798afd96d6cbecc62f44a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bcad0191fbe798afd96d6cbecc62f44a"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:48Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.266492,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/92e9112d-66bc-4ffd-9d8b-3f1174018788","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bcad0191fbe798afd96d6cbecc62f44a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/92e9112d-66bc-4ffd-9d8b-3f1174018788","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843088,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4OH0.W_1m26fGikebbaRKcsmfw2-_AV5gobYHQ-TN-R0uAN0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bcad0191fbe798afd96d6cbecc62f44a","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92e9112d-66bc-4ffd-9d8b-3f1174018788","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92e9112d-66bc-4ffd-9d8b-3f1174018788","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:46.515777868Z"}]},"request_id":"b96425ef-2f3f-4bae-801a-cc03f64d4bee","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843088.8533716} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"bcad0191fbe798afd96d6cbecc62f44a","responseTime":26,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bcad0191fbe798afd96d6cbecc62f44a"} device-1 | {"level":"info","message":"GET /devices/92e9112d-66bc-4ffd-9d8b-3f1174018788? 200 35ms","method":"GET","requestID":"bcad0191fbe798afd96d6cbecc62f44a","responseTime":35,"status":200,"url":"/devices/92e9112d-66bc-4ffd-9d8b-3f1174018788?"} gateway-1 | {"time_local":"28/Apr/2025:12:24:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/92e9112d-66bc-4ffd-9d8b-3f1174018788? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bcad0191fbe798afd96d6cbecc62f44a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4OH0.W_1m26fGikebbaRKcsmfw2-_AV5gobYHQ-TN-R0uAN0","level":"info","message":"auth send jwt","requestID":"ae979d92919f49bb513c9817f8385c12"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ae979d92919f49bb513c9817f8385c12","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"ae979d92919f49bb513c9817f8385c12"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:48Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.639648,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ae979d92919f49bb513c9817f8385c12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843088,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4OH0.W_1m26fGikebbaRKcsmfw2-_AV5gobYHQ-TN-R0uAN0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ae979d92919f49bb513c9817f8385c12","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0cba85bb-0c4b-4a14-8d43-1874d609a439"},"level":"info","message":"Attempting to run experiment","requestID":"ae979d92919f49bb513c9817f8385c12"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0cba85bb-0c4b-4a14-8d43-1874d609a439"},"level":"info","message":"Attempting to book experiment","requestID":"ae979d92919f49bb513c9817f8385c12"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0cba85bb-0c4b-4a14-8d43-1874d609a439"},"level":"info","message":"Successfully booked experiment","requestID":"ae979d92919f49bb513c9817f8385c12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c6fd0630-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c6fd5450-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:48Z"} authorization-1 | {"client_addr":"127.0.0.1:35854","level":"info","msg":"Received request.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:48Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.649873,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/de91b6f0-155c-4a71-a622-bba772c4eba4","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c6fd0630-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/de91b6f0-155c-4a71-a622-bba772c4eba4","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843088,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4OH0.W_1m26fGikebbaRKcsmfw2-_AV5gobYHQ-TN-R0uAN0"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"c6fd0630-242b-11f0-a4ab-3996a0934271","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35854","level":"info","msg":"Sent response.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.526862,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/92e9112d-66bc-4ffd-9d8b-3f1174018788","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c6fd5450-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/92e9112d-66bc-4ffd-9d8b-3f1174018788","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843088,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4OH0.W_1m26fGikebbaRKcsmfw2-_AV5gobYHQ-TN-R0uAN0"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"c6fd5450-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde91b6f0-155c-4a71-a622-bba772c4eba4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde91b6f0-155c-4a71-a622-bba772c4eba4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:46.414108901Z"}]},"request_id":"9af96e0a-9de6-42b0-8b36-b5413b9468fc","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843088.9467628} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c6fd0630-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92e9112d-66bc-4ffd-9d8b-3f1174018788","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92e9112d-66bc-4ffd-9d8b-3f1174018788","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:46.515777868Z"}]},"request_id":"72f36068-5b59-4665-b53e-7abe3b982262","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843088.9477236} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c6fd5450-242b-11f0-a4ab-3996a0934271","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c6fd0630-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/de91b6f0-155c-4a71-a622-bba772c4eba4? 200 37ms","method":"GET","requestID":"c6fd0630-242b-11f0-a4ab-3996a0934271","responseTime":37,"status":200,"url":"/devices/de91b6f0-155c-4a71-a622-bba772c4eba4?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c6fd5450-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/92e9112d-66bc-4ffd-9d8b-3f1174018788? 200 37ms","method":"GET","requestID":"c6fd5450-242b-11f0-a4ab-3996a0934271","responseTime":37,"status":200,"url":"/devices/92e9112d-66bc-4ffd-9d8b-3f1174018788?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0cba85bb-0c4b-4a14-8d43-1874d609a439"},"level":"info","message":"Setting up experiment","requestID":"ae979d92919f49bb513c9817f8385c12"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0cba85bb-0c4b-4a14-8d43-1874d609a439"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"ae979d92919f49bb513c9817f8385c12"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0cba85bb-0c4b-4a14-8d43-1874d609a439"},"level":"info","message":"Successfully locked booking for experiment","requestID":"ae979d92919f49bb513c9817f8385c12"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0cba85bb-0c4b-4a14-8d43-1874d609a439"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"ae979d92919f49bb513c9817f8385c12"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0cba85bb-0c4b-4a14-8d43-1874d609a439"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"ae979d92919f49bb513c9817f8385c12"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0cba85bb-0c4b-4a14-8d43-1874d609a439"},"level":"info","message":"Attempting to update booking for experiment","requestID":"ae979d92919f49bb513c9817f8385c12"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0cba85bb-0c4b-4a14-8d43-1874d609a439"},"level":"info","message":"Successfully updated booking for experiment","requestID":"ae979d92919f49bb513c9817f8385c12"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0cba85bb-0c4b-4a14-8d43-1874d609a439"},"level":"info","message":"Successfully set up experiment","requestID":"ae979d92919f49bb513c9817f8385c12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c70b8520-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c70bd340-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c70bfa50-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:35854","level":"info","msg":"Received request.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:49Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:49Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0cba85bb-0c4b-4a14-8d43-1874d609a439"},"level":"info","message":"Successfully running experiment","requestID":"ae979d92919f49bb513c9817f8385c12"} authorization-1 | {"client_addr":"127.0.0.1:35854","level":"info","msg":"Sent response.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.604985,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:49Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.815118,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/de91b6f0-155c-4a71-a622-bba772c4eba4","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c70b8520-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/de91b6f0-155c-4a71-a622-bba772c4eba4","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843088,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4OH0.W_1m26fGikebbaRKcsmfw2-_AV5gobYHQ-TN-R0uAN0"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"c70b8520-242b-11f0-a4ab-3996a0934271","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/92e9112d-66bc-4ffd-9d8b-3f1174018788","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c70bd340-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/92e9112d-66bc-4ffd-9d8b-3f1174018788","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843088,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4OH0.W_1m26fGikebbaRKcsmfw2-_AV5gobYHQ-TN-R0uAN0"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"c70bd340-242b-11f0-a4ab-3996a0934271","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:49Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92e9112d-66bc-4ffd-9d8b-3f1174018788","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92e9112d-66bc-4ffd-9d8b-3f1174018788","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:46.515777868Z"}]},"request_id":"39604dc9-7592-4521-aa1a-5dbb3672195c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843089.044878} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde91b6f0-155c-4a71-a622-bba772c4eba4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a0f64ed7-bf58-4a7e-b4c7-47be33ed1960","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843089.0453193} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c70bd340-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde91b6f0-155c-4a71-a622-bba772c4eba4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde91b6f0-155c-4a71-a622-bba772c4eba4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:46.414108901Z"}]},"request_id":"437d93fd-91d5-454b-bc95-275db5740ffc","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843089.045835} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.699096,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/de91b6f0-155c-4a71-a622-bba772c4eba4","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c70bfa50-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/de91b6f0-155c-4a71-a622-bba772c4eba4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","method":"POST","requestID":"c70bfa50-242b-11f0-a4ab-3996a0934271","responseTime":33,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c70b8520-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c70bd340-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/92e9112d-66bc-4ffd-9d8b-3f1174018788? 200 39ms","method":"GET","requestID":"c70bd340-242b-11f0-a4ab-3996a0934271","responseTime":39,"status":200,"url":"/devices/92e9112d-66bc-4ffd-9d8b-3f1174018788?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c70bfa50-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/de91b6f0-155c-4a71-a622-bba772c4eba4/signaling 200 39ms","method":"POST","requestID":"c70bfa50-242b-11f0-a4ab-3996a0934271","responseTime":39,"status":200,"url":"/devices/de91b6f0-155c-4a71-a622-bba772c4eba4/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c70b8520-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/de91b6f0-155c-4a71-a622-bba772c4eba4? 200 43ms","method":"GET","requestID":"c70b8520-242b-11f0-a4ab-3996a0934271","responseTime":43,"status":200,"url":"/devices/de91b6f0-155c-4a71-a622-bba772c4eba4?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c7123be0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0cba85bb-0c4b-4a14-8d43-1874d609a439#owner@http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0cba85bb-0c4b-4a14-8d43-1874d609a439","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"8fe7b40b-f927-4c62-9bd7-b8d22646c29a","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843089.0545733} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"33844b26-a8bf-42ee-b475-7db541d978ba","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843089.054758} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c71262f0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"ae979d92919f49bb513c9817f8385c12","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:49Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:49Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92e9112d-66bc-4ffd-9d8b-3f1174018788","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"58fd5e7e-7a4b-44b7-876a-9d2024dbe685","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843089.059119} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.109773,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/92e9112d-66bc-4ffd-9d8b-3f1174018788","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c7123be0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/92e9112d-66bc-4ffd-9d8b-3f1174018788","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c7123be0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde91b6f0-155c-4a71-a622-bba772c4eba4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"84790eac-e4fd-40b8-a03b-a4cec68e8219","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843089.0603268} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.589645,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/de91b6f0-155c-4a71-a622-bba772c4eba4","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c71262f0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/de91b6f0-155c-4a71-a622-bba772c4eba4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c71262f0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/0cba85bb-0c4b-4a14-8d43-1874d609a439","user":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"ae979d92919f49bb513c9817f8385c12"} gateway-1 | {"time_local":"28/Apr/2025:12:24:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.206","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ae979d92919f49bb513c9817f8385c12"} experiment-1 | {"level":"info","message":"POST /experiments? 201 202ms","method":"POST","requestID":"ae979d92919f49bb513c9817f8385c12","responseTime":202,"status":201,"url":"/experiments?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4OX0.XHqoh6RtAvSu686_hmXH29yB3Z0pzUKuT1XsjrfHy7M","level":"info","message":"auth send jwt","requestID":"b6f5c2967778b282adf379e37630f7a0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c7123be0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/92e9112d-66bc-4ffd-9d8b-3f1174018788/signaling 200 37ms","method":"POST","requestID":"c7123be0-242b-11f0-a4ab-3996a0934271","responseTime":37,"status":200,"url":"/devices/92e9112d-66bc-4ffd-9d8b-3f1174018788/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c71262f0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/de91b6f0-155c-4a71-a622-bba772c4eba4/signaling 200 37ms","method":"POST","requestID":"c71262f0-242b-11f0-a4ab-3996a0934271","responseTime":37,"status":200,"url":"/devices/de91b6f0-155c-4a71-a622-bba772c4eba4/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b6f5c2967778b282adf379e37630f7a0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b6f5c2967778b282adf379e37630f7a0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c7185660-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:49Z"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:49Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.915552,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/de91b6f0-155c-4a71-a622-bba772c4eba4","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b6f5c2967778b282adf379e37630f7a0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/de91b6f0-155c-4a71-a622-bba772c4eba4","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843089,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4OX0.XHqoh6RtAvSu686_hmXH29yB3Z0pzUKuT1XsjrfHy7M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b6f5c2967778b282adf379e37630f7a0","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92e9112d-66bc-4ffd-9d8b-3f1174018788","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"30531624-8f8f-45b3-8859-e879dfd2b7a7","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843089.098019} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.271887,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/92e9112d-66bc-4ffd-9d8b-3f1174018788","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c7185660-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/92e9112d-66bc-4ffd-9d8b-3f1174018788","object_type":"device","rebac_allow":false,"scope_allow":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":"c7185660-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde91b6f0-155c-4a71-a622-bba772c4eba4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde91b6f0-155c-4a71-a622-bba772c4eba4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:46.414108901Z"}]},"request_id":"3db101d4-9076-479f-8a0e-1bbe27d22b00","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843089.101649} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c7185660-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/92e9112d-66bc-4ffd-9d8b-3f1174018788/signaling 200 8ms","method":"POST","requestID":"c7185660-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/92e9112d-66bc-4ffd-9d8b-3f1174018788/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b6f5c2967778b282adf379e37630f7a0","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0cba85bb-0c4b-4a14-8d43-1874d609a439"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"ae979d92919f49bb513c9817f8385c12"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0cba85bb-0c4b-4a14-8d43-1874d609a439"},"level":"info","message":"Building connection plan","requestID":"ae979d92919f49bb513c9817f8385c12"} 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":"782dc4d2-06cd-451d-b6d0-f4d71c94dfcc"},{"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":"64c9cf9e-c151-42d5-bdd3-c379da1f063f"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"95132ddf-1e45-46fa-8718-c7b841c77cb5"}]},"level":"info","message":"Built pairwise service configurations","requestID":"ae979d92919f49bb513c9817f8385c12"} 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/92e9112d-66bc-4ffd-9d8b-3f1174018788"},{"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/de91b6f0-155c-4a71-a622-bba772c4eba4"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"ae979d92919f49bb513c9817f8385c12"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"c71a0410-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b6f5c2967778b282adf379e37630f7a0"} gateway-1 | {"time_local":"28/Apr/2025:12:24:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/de91b6f0-155c-4a71-a622-bba772c4eba4? 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":"b6f5c2967778b282adf379e37630f7a0"} device-1 | {"level":"info","message":"GET /devices/de91b6f0-155c-4a71-a622-bba772c4eba4? 200 13ms","method":"GET","requestID":"b6f5c2967778b282adf379e37630f7a0","responseTime":13,"status":200,"url":"/devices/de91b6f0-155c-4a71-a622-bba772c4eba4?"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:49Z"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.903803,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c71a0410-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843088,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4OH0.W_1m26fGikebbaRKcsmfw2-_AV5gobYHQ-TN-R0uAN0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c71a0410-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4OX0.XHqoh6RtAvSu686_hmXH29yB3Z0pzUKuT1XsjrfHy7M","level":"info","message":"auth send jwt","requestID":"6c67f0977fb1ed91aed32410304979dd"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6c67f0977fb1ed91aed32410304979dd","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6c67f0977fb1ed91aed32410304979dd"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:49Z"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.680027,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/92e9112d-66bc-4ffd-9d8b-3f1174018788","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"6c67f0977fb1ed91aed32410304979dd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/92e9112d-66bc-4ffd-9d8b-3f1174018788","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843089,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA4OX0.XHqoh6RtAvSu686_hmXH29yB3Z0pzUKuT1XsjrfHy7M"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"6c67f0977fb1ed91aed32410304979dd","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92e9112d-66bc-4ffd-9d8b-3f1174018788","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92e9112d-66bc-4ffd-9d8b-3f1174018788","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:46.515777868Z"}]},"request_id":"c0f4171e-ac51-452b-963c-e9f9c201c867","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843089.1418004} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6c67f0977fb1ed91aed32410304979dd","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","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%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"8974b288-feeb-4364-abab-9530e0810485","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843089.1427908} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"63ad86e8-6ec1-48a8-87bd-7d00ce470e69","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843089.1430693} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"c71a0410-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6c67f0977fb1ed91aed32410304979dd"} gateway-1 | {"time_local":"28/Apr/2025:12:24:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/92e9112d-66bc-4ffd-9d8b-3f1174018788? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6c67f0977fb1ed91aed32410304979dd"} device-1 | {"level":"info","message":"GET /devices/92e9112d-66bc-4ffd-9d8b-3f1174018788? 200 35ms","method":"GET","requestID":"6c67f0977fb1ed91aed32410304979dd","responseTime":35,"status":200,"url":"/devices/92e9112d-66bc-4ffd-9d8b-3f1174018788?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"c71a0410-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"c71a0410-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/2d2b2dfb-794a-4b68-92c0-12d680dd2066'","requestID":"c71a0410-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/2d2b2dfb-794a-4b68-92c0-12d680dd2066'","requestID":"c71a0410-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"c71a0410-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 51ms","method":"POST","requestID":"c71a0410-242b-11f0-a4ab-3996a0934271","responseTime":51,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"c71a0410-242b-11f0-a4ab-3996a0934271"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/2d2b2dfb-794a-4b68-92c0-12d680dd2066","device":"92e9112d-66bc-4ffd-9d8b-3f1174018788","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/0cba85bb-0c4b-4a14-8d43-1874d609a439"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"ae979d92919f49bb513c9817f8385c12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c728f830-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:49Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde91b6f0-155c-4a71-a622-bba772c4eba4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"afb9d140-6291-46c8-8035-5d1e706f805c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843089.206931} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.187203,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/de91b6f0-155c-4a71-a622-bba772c4eba4","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c728f830-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/de91b6f0-155c-4a71-a622-bba772c4eba4","object_type":"device","rebac_allow":false,"scope_allow":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":"c728f830-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c728f830-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/de91b6f0-155c-4a71-a622-bba772c4eba4/signaling 200 32ms","method":"POST","requestID":"c728f830-242b-11f0-a4ab-3996a0934271","responseTime":32,"status":200,"url":"/devices/de91b6f0-155c-4a71-a622-bba772c4eba4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c72e2850-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:49Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92e9112d-66bc-4ffd-9d8b-3f1174018788","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8d7fcb68-9d1c-4b33-94e0-35f097632bee","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843089.2417974} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.832319,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/92e9112d-66bc-4ffd-9d8b-3f1174018788","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c72e2850-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/92e9112d-66bc-4ffd-9d8b-3f1174018788","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c72e2850-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c72e2850-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/92e9112d-66bc-4ffd-9d8b-3f1174018788/signaling 200 10ms","method":"POST","requestID":"c72e2850-242b-11f0-a4ab-3996a0934271","responseTime":10,"status":200,"url":"/devices/92e9112d-66bc-4ffd-9d8b-3f1174018788/signaling"} device-1 | {"device":"92e9112d-66bc-4ffd-9d8b-3f1174018788","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"92e9112d-66bc-4ffd-9d8b-3f1174018788","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"de91b6f0-155c-4a71-a622-bba772c4eba4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"2d2b2dfb-794a-4b68-92c0-12d680dd2066","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 484957644268237966 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:sSTD\r\na=ice-pwd:+c4ZU7/sij2QkP72+6zQiMZT\r\na=ice-options:trickle\r\na=fingerprint:sha-256 C5:B9:5F:FB:76:77:06:8D:1C:B2:5A:ED:8B:D6:2B:34:E4:0C:55:5B:EC:8F:F3:EB:42:E5:FA:21:D8:11:51:29\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"92e9112d-66bc-4ffd-9d8b-3f1174018788","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:856862456 1 udp 2113937151 147d5c5b-b087-46de-987a-9ee1d74d2c8a.local 39780 typ host generation 0 ufrag sSTD network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"92e9112d-66bc-4ffd-9d8b-3f1174018788","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"92e9112d-66bc-4ffd-9d8b-3f1174018788","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"de91b6f0-155c-4a71-a622-bba772c4eba4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"de91b6f0-155c-4a71-a622-bba772c4eba4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"de91b6f0-155c-4a71-a622-bba772c4eba4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/2d2b2dfb-794a-4b68-92c0-12d680dd2066' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2d2b2dfb-794a-4b68-92c0-12d680dd2066","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"92e9112d-66bc-4ffd-9d8b-3f1174018788","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a750c486273d094edb0a106666abe445","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a750c486273d094edb0a106666abe445","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/92e9112d-66bc-4ffd-9d8b-3f1174018788"},{"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/de91b6f0-155c-4a71-a622-bba772c4eba4"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/2d2b2dfb-794a-4b68-92c0-12d680dd2066"}}},"level":"info","message":"received a callback","requestID":"a750c486273d094edb0a106666abe445"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"a750c486273d094edb0a106666abe445","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"a750c486273d094edb0a106666abe445"} device-1 | {"data":{"peerconnection":"2d2b2dfb-794a-4b68-92c0-12d680dd2066","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"de91b6f0-155c-4a71-a622-bba772c4eba4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"92e9112d-66bc-4ffd-9d8b-3f1174018788","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"de91b6f0-155c-4a71-a622-bba772c4eba4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"2d2b2dfb-794a-4b68-92c0-12d680dd2066","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"92e9112d-66bc-4ffd-9d8b-3f1174018788","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/2d2b2dfb-794a-4b68-92c0-12d680dd2066' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2d2b2dfb-794a-4b68-92c0-12d680dd2066","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3d1ca4e98cbb93a7bb4ed58195fcb3ec","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3d1ca4e98cbb93a7bb4ed58195fcb3ec","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/92e9112d-66bc-4ffd-9d8b-3f1174018788"},{"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/de91b6f0-155c-4a71-a622-bba772c4eba4"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/2d2b2dfb-794a-4b68-92c0-12d680dd2066"}}},"level":"info","message":"received a callback","requestID":"3d1ca4e98cbb93a7bb4ed58195fcb3ec"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"c86b1520-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:51Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2d2b2dfb-794a-4b68-92c0-12d680dd2066","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bd276458-a3d6-4d86-b9a2-3fa3b8f32c10","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843091.318924} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.420838,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2d2b2dfb-794a-4b68-92c0-12d680dd2066","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c86b1520-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/2d2b2dfb-794a-4b68-92c0-12d680dd2066","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":"c86b1520-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"c86b1520-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /peerconnections/2d2b2dfb-794a-4b68-92c0-12d680dd2066 200 32ms","method":"GET","requestID":"c86b1520-242b-11f0-a4ab-3996a0934271","responseTime":32,"status":200,"url":"/peerconnections/2d2b2dfb-794a-4b68-92c0-12d680dd2066"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 49ms","method":"POST","requestID":"3d1ca4e98cbb93a7bb4ed58195fcb3ec","responseTime":49,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch","requestID":"3d1ca4e98cbb93a7bb4ed58195fcb3ec"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c871f2f0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:51Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92e9112d-66bc-4ffd-9d8b-3f1174018788","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5f410c5c-6ec1-4a6a-bfd2-e9da352e4c42","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843091.3637624} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.219741,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/92e9112d-66bc-4ffd-9d8b-3f1174018788","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c871f2f0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/92e9112d-66bc-4ffd-9d8b-3f1174018788","object_type":"device","rebac_allow":false,"scope_allow":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":"c871f2f0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c871f2f0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/92e9112d-66bc-4ffd-9d8b-3f1174018788/signaling 200 8ms","method":"POST","requestID":"c871f2f0-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/92e9112d-66bc-4ffd-9d8b-3f1174018788/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c8772310-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:51Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde91b6f0-155c-4a71-a622-bba772c4eba4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5002b3c0-5c03-4964-85bd-46e96e8062ba","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843091.399568} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.121126,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/de91b6f0-155c-4a71-a622-bba772c4eba4","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c8772310-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/de91b6f0-155c-4a71-a622-bba772c4eba4","object_type":"device","rebac_allow":false,"scope_allow":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":"c8772310-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c8772310-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/de91b6f0-155c-4a71-a622-bba772c4eba4/signaling 200 9ms","method":"POST","requestID":"c8772310-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/de91b6f0-155c-4a71-a622-bba772c4eba4/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5MX0.O8oDhzpDYLaNwfr_im1gyPVMLdl8Z0xlPqpH6-X4yk0","level":"info","message":"auth send jwt","requestID":"addca3b9c7e76932e638822a04e309f9"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"addca3b9c7e76932e638822a04e309f9","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0cba85bb-0c4b-4a14-8d43-1874d609a439","requestID":"addca3b9c7e76932e638822a04e309f9"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:51Z"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.745291,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0cba85bb-0c4b-4a14-8d43-1874d609a439","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"addca3b9c7e76932e638822a04e309f9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/0cba85bb-0c4b-4a14-8d43-1874d609a439","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843091,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5MX0.O8oDhzpDYLaNwfr_im1gyPVMLdl8Z0xlPqpH6-X4yk0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"addca3b9c7e76932e638822a04e309f9","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/0cba85bb-0c4b-4a14-8d43-1874d609a439","requestID":"addca3b9c7e76932e638822a04e309f9"} gateway-1 | {"time_local":"28/Apr/2025:12:24:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0cba85bb-0c4b-4a14-8d43-1874d609a439 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"addca3b9c7e76932e638822a04e309f9"} experiment-1 | {"level":"info","message":"GET /experiments/0cba85bb-0c4b-4a14-8d43-1874d609a439 200 8ms","method":"GET","requestID":"addca3b9c7e76932e638822a04e309f9","responseTime":8,"status":200,"url":"/experiments/0cba85bb-0c4b-4a14-8d43-1874d609a439"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5MX0.O8oDhzpDYLaNwfr_im1gyPVMLdl8Z0xlPqpH6-X4yk0","level":"info","message":"auth send jwt","requestID":"9d861af281731db4896a8a45e1863da2"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9d861af281731db4896a8a45e1863da2","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/0cba85bb-0c4b-4a14-8d43-1874d609a439","requestID":"9d861af281731db4896a8a45e1863da2"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:51Z"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.726697,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:51Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0cba85bb-0c4b-4a14-8d43-1874d609a439","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9d861af281731db4896a8a45e1863da2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/0cba85bb-0c4b-4a14-8d43-1874d609a439","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843091,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5MX0.O8oDhzpDYLaNwfr_im1gyPVMLdl8Z0xlPqpH6-X4yk0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9d861af281731db4896a8a45e1863da2","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0cba85bb-0c4b-4a14-8d43-1874d609a439"},"level":"info","message":"Attempting to finish experiment","requestID":"9d861af281731db4896a8a45e1863da2"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"c87ffcb0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:51Z"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.715086,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:51Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2d2b2dfb-794a-4b68-92c0-12d680dd2066","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c87ffcb0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:http://localhost/peerconnections/2d2b2dfb-794a-4b68-92c0-12d680dd2066","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843091,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5MX0.O8oDhzpDYLaNwfr_im1gyPVMLdl8Z0xlPqpH6-X4yk0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c87ffcb0-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/2d2b2dfb-794a-4b68-92c0-12d680dd2066","device":"92e9112d-66bc-4ffd-9d8b-3f1174018788","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"de91b6f0-155c-4a71-a622-bba772c4eba4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"de91b6f0-155c-4a71-a622-bba772c4eba4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"de91b6f0-155c-4a71-a622-bba772c4eba4","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/2d2b2dfb-794a-4b68-92c0-12d680dd2066' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/2d2b2dfb-794a-4b68-92c0-12d680dd2066' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2d2b2dfb-794a-4b68-92c0-12d680dd2066","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5a427945-b1cd-4d8d-9694-f1ab8c818e5c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843091.4903698} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2d2b2dfb-794a-4b68-92c0-12d680dd2066': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2d2b2dfb-794a-4b68-92c0-12d680dd2066","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"4871d18c-fe0b-47d5-aa88-18f602787382","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843091.4913335} authorization-1 | {"level":"info","message":"POST /relations/update 200 32ms","method":"POST","requestID":"c87ffcb0-242b-11f0-a4ab-3996a0934271","responseTime":32,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8581c49d2c65fe893e38fb88081e7970","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8581c49d2c65fe893e38fb88081e7970","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ad929f22d874b512adbf1ac5a0556a03","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/92e9112d-66bc-4ffd-9d8b-3f1174018788"},{"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/de91b6f0-155c-4a71-a622-bba772c4eba4"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2d2b2dfb-794a-4b68-92c0-12d680dd2066"}}},"level":"info","message":"received a callback","requestID":"8581c49d2c65fe893e38fb88081e7970"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ad929f22d874b512adbf1ac5a0556a03","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/92e9112d-66bc-4ffd-9d8b-3f1174018788"},{"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/de91b6f0-155c-4a71-a622-bba772c4eba4"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2d2b2dfb-794a-4b68-92c0-12d680dd2066"}}},"level":"info","message":"received a callback","requestID":"ad929f22d874b512adbf1ac5a0556a03"} device-1 | {"data":{"peerconnection":"2d2b2dfb-794a-4b68-92c0-12d680dd2066","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"c87ffcb0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"DELETE /peerconnections/2d2b2dfb-794a-4b68-92c0-12d680dd2066 204 85ms","method":"DELETE","requestID":"c87ffcb0-242b-11f0-a4ab-3996a0934271","responseTime":85,"status":204,"url":"/peerconnections/2d2b2dfb-794a-4b68-92c0-12d680dd2066"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0cba85bb-0c4b-4a14-8d43-1874d609a439"},"level":"info","message":"Successfully finished experiment","requestID":"9d861af281731db4896a8a45e1863da2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c88f3ef0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:51Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92e9112d-66bc-4ffd-9d8b-3f1174018788","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"14243867-8d18-4483-80ff-22adbd6f5158","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843091.5550869} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.17113,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/92e9112d-66bc-4ffd-9d8b-3f1174018788","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c88f3ef0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/92e9112d-66bc-4ffd-9d8b-3f1174018788","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c88f3ef0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c88f3ef0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/92e9112d-66bc-4ffd-9d8b-3f1174018788/signaling 200 8ms","method":"POST","requestID":"c88f3ef0-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/92e9112d-66bc-4ffd-9d8b-3f1174018788/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c8946f10-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0cba85bb-0c4b-4a14-8d43-1874d609a439': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0cba85bb-0c4b-4a14-8d43-1874d609a439","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"b341e11b-6f65-4f76-9cf5-9e3f4ade7689","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843091.5863495} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5ad50a54-0315-4448-89dd-18ba3fc2e83c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843091.586686} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"9d861af281731db4896a8a45e1863da2","responseTime":38,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:51Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fde91b6f0-155c-4a71-a622-bba772c4eba4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a034662f-a390-4311-b7bb-0541f24a39ac","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843091.5909255} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.212849,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/de91b6f0-155c-4a71-a622-bba772c4eba4","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c8946f10-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/de91b6f0-155c-4a71-a622-bba772c4eba4","object_type":"device","rebac_allow":false,"scope_allow":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":"c8946f10-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c8946f10-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/de91b6f0-155c-4a71-a622-bba772c4eba4/signaling 200 10ms","method":"POST","requestID":"c8946f10-242b-11f0-a4ab-3996a0934271","responseTime":10,"status":200,"url":"/devices/de91b6f0-155c-4a71-a622-bba772c4eba4/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/0cba85bb-0c4b-4a14-8d43-1874d609a439","requestID":"9d861af281731db4896a8a45e1863da2"} experiment-1 | {"level":"info","message":"DELETE /experiments/0cba85bb-0c4b-4a14-8d43-1874d609a439 204 215ms","method":"DELETE","requestID":"9d861af281731db4896a8a45e1863da2","responseTime":215,"status":204,"url":"/experiments/0cba85bb-0c4b-4a14-8d43-1874d609a439"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 188ms","method":"POST","requestID":"8581c49d2c65fe893e38fb88081e7970","responseTime":188,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 187ms","method":"POST","requestID":"ad929f22d874b512adbf1ac5a0556a03","responseTime":187,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/0cba85bb-0c4b-4a14-8d43-1874d609a439 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.241","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9d861af281731db4896a8a45e1863da2"} gateway-1 | {"time_local":"28/Apr/2025:12:24:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2529","request_time":"4.156","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"f74d291e9eafce82c12eaa5a0f01563d"} gateway-1 | {"time_local":"28/Apr/2025:12:24:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.194","http_referrer":"","http_user_agent":"node-fetch","requestID":"8581c49d2c65fe893e38fb88081e7970"} gateway-1 | {"time_local":"28/Apr/2025:12:24:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.192","http_referrer":"","http_user_agent":"node-fetch","requestID":"ad929f22d874b512adbf1ac5a0556a03"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5MX0.O8oDhzpDYLaNwfr_im1gyPVMLdl8Z0xlPqpH6-X4yk0","level":"info","message":"auth send jwt","requestID":"a65eeb2f0468c8a6095797254fde7b6b"} gateway-1 | {"time_local":"28/Apr/2025:12:24:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2787","request_time":"2.905","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"70bd51eaa63fb45488ee4aa596bd7837"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"a65eeb2f0468c8a6095797254fde7b6b","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a65eeb2f0468c8a6095797254fde7b6b"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:51Z"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.855282,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a65eeb2f0468c8a6095797254fde7b6b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843091,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5MX0.O8oDhzpDYLaNwfr_im1gyPVMLdl8Z0xlPqpH6-X4yk0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a65eeb2f0468c8a6095797254fde7b6b","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/92e9112d-66bc-4ffd-9d8b-3f1174018788' closed"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/de91b6f0-155c-4a71-a622-bba772c4eba4' 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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90a7267f-85d1-4c62-9682-197a17362361","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2db1c21b-d62e-4df3-af81-b6bb3ca996f5","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843091.7442229} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a65eeb2f0468c8a6095797254fde7b6b","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1e56dc83-fa3d-448d-a22b-4b9a991e3155","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843091.7497694} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"a65eeb2f0468c8a6095797254fde7b6b","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90a7267f-85d1-4c62-9682-197a17362361","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"c71fea8e-8012-45bd-91fc-45d1d45424e6","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843091.7836587} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"21c9afe7-811e-4547-acfd-aa85ccb1588d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843091.7837236} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"a65eeb2f0468c8a6095797254fde7b6b","responseTime":36,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90a7267f-85d1-4c62-9682-197a17362361","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90a7267f-85d1-4c62-9682-197a17362361","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:51.783630362Z"}]},"request_id":"e39aad26-89f0-4965-be8a-0783ed409b7e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843091.7879484} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a65eeb2f0468c8a6095797254fde7b6b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a65eeb2f0468c8a6095797254fde7b6b"} gateway-1 | {"time_local":"28/Apr/2025:12:24:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.106","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a65eeb2f0468c8a6095797254fde7b6b"} device-1 | {"level":"info","message":"POST /devices? 201 95ms","method":"POST","requestID":"a65eeb2f0468c8a6095797254fde7b6b","responseTime":95,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5MX0.O8oDhzpDYLaNwfr_im1gyPVMLdl8Z0xlPqpH6-X4yk0","level":"info","message":"auth send jwt","requestID":"e3114056153d3a1dcebe2b3a7dbae62a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e3114056153d3a1dcebe2b3a7dbae62a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e3114056153d3a1dcebe2b3a7dbae62a"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:51Z"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.73799,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e3114056153d3a1dcebe2b3a7dbae62a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843091,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5MX0.O8oDhzpDYLaNwfr_im1gyPVMLdl8Z0xlPqpH6-X4yk0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e3114056153d3a1dcebe2b3a7dbae62a","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e84fa5c-3373-429d-a560-68e65fb67b6e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"cb7274cf-202c-4c40-8914-19e77e14d223","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843091.8359003} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e3114056153d3a1dcebe2b3a7dbae62a","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"83fe9e90-0caf-4f89-b777-fa48c7f797fa","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843091.8408587} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"e3114056153d3a1dcebe2b3a7dbae62a","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e84fa5c-3373-429d-a560-68e65fb67b6e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"8386a556-fcb7-4bb8-b2ec-99e6a6159fd0","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843091.8505292} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e2a83a30-62c9-4318-9396-05857645c766","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843091.8508117} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"e3114056153d3a1dcebe2b3a7dbae62a","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e84fa5c-3373-429d-a560-68e65fb67b6e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e84fa5c-3373-429d-a560-68e65fb67b6e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:51.850501302Z"}]},"request_id":"2034f96b-6c12-4907-a170-fae678a6c825","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843091.8750865} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e3114056153d3a1dcebe2b3a7dbae62a"} gateway-1 | {"time_local":"28/Apr/2025:12:24:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.086","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e3114056153d3a1dcebe2b3a7dbae62a"} device-1 | {"level":"info","message":"POST /devices? 201 82ms","method":"POST","requestID":"e3114056153d3a1dcebe2b3a7dbae62a","responseTime":82,"status":201,"url":"/devices?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"e3114056153d3a1dcebe2b3a7dbae62a","responseTime":5,"status":200,"url":"/relations/query"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Mn0.D3RygjQ-M_sbAFBnPy-mdO5gT8J7gXzyml_uaG6B4ks","level":"info","message":"auth send jwt","requestID":"efc55f4d9470348d02582feafaa66c48"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"efc55f4d9470348d02582feafaa66c48","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Mn0.D3RygjQ-M_sbAFBnPy-mdO5gT8J7gXzyml_uaG6B4ks","level":"info","message":"auth send jwt","requestID":"ec9726b9a434e5ead9850170168d41a5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ec9726b9a434e5ead9850170168d41a5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"efc55f4d9470348d02582feafaa66c48"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"ec9726b9a434e5ead9850170168d41a5"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:52Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:52Z"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.456942,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e84fa5c-3373-429d-a560-68e65fb67b6e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"efc55f4d9470348d02582feafaa66c48","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/2e84fa5c-3373-429d-a560-68e65fb67b6e","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843092,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Mn0.D3RygjQ-M_sbAFBnPy-mdO5gT8J7gXzyml_uaG6B4ks"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"efc55f4d9470348d02582feafaa66c48","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.113939,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/90a7267f-85d1-4c62-9682-197a17362361","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ec9726b9a434e5ead9850170168d41a5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/90a7267f-85d1-4c62-9682-197a17362361","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843092,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Mn0.D3RygjQ-M_sbAFBnPy-mdO5gT8J7gXzyml_uaG6B4ks"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"ec9726b9a434e5ead9850170168d41a5","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e84fa5c-3373-429d-a560-68e65fb67b6e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e84fa5c-3373-429d-a560-68e65fb67b6e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:51.850501302Z"}]},"request_id":"106d6aeb-5338-4de2-a977-ecf1ae879f0b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843092.7916582} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"efc55f4d9470348d02582feafaa66c48","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90a7267f-85d1-4c62-9682-197a17362361","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90a7267f-85d1-4c62-9682-197a17362361","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:51.783630362Z"}]},"request_id":"e26db4e3-e405-4bba-bd9d-9e560443c87a","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843092.794812} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ec9726b9a434e5ead9850170168d41a5","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d0c14d21-34bf-4c0b-8541-83d237f853ee","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843092.7962317} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"efc55f4d9470348d02582feafaa66c48","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ec6a103d-3c13-4332-ba36-653ecfdebcbd","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843092.7996247} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"ec9726b9a434e5ead9850170168d41a5","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e84fa5c-3373-429d-a560-68e65fb67b6e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e84fa5c-3373-429d-a560-68e65fb67b6e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:51.850501302Z"}]},"request_id":"9bb405b2-c4ec-4762-9efc-b4d72d6ace3c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843092.8330138} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"efc55f4d9470348d02582feafaa66c48","responseTime":26,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"efc55f4d9470348d02582feafaa66c48"} gateway-1 | {"time_local":"28/Apr/2025:12:24:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/2e84fa5c-3373-429d-a560-68e65fb67b6e HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.083","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"efc55f4d9470348d02582feafaa66c48"} device-1 | {"level":"info","message":"PATCH /devices/2e84fa5c-3373-429d-a560-68e65fb67b6e 200 78ms","method":"PATCH","requestID":"efc55f4d9470348d02582feafaa66c48","responseTime":78,"status":200,"url":"/devices/2e84fa5c-3373-429d-a560-68e65fb67b6e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Mn0.D3RygjQ-M_sbAFBnPy-mdO5gT8J7gXzyml_uaG6B4ks","level":"info","message":"auth send jwt","requestID":"3d85bbf9931f90981865254489ae51bf"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3d85bbf9931f90981865254489ae51bf","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"3d85bbf9931f90981865254489ae51bf"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90a7267f-85d1-4c62-9682-197a17362361","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90a7267f-85d1-4c62-9682-197a17362361","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:51.783630362Z"}]},"request_id":"eadb2aa2-1e5b-495b-b1a7-cc7f4ffb2c07","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843092.8419406} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ec9726b9a434e5ead9850170168d41a5","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:52Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.694558,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:52Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"ec9726b9a434e5ead9850170168d41a5"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e84fa5c-3373-429d-a560-68e65fb67b6e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"3d85bbf9931f90981865254489ae51bf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/2e84fa5c-3373-429d-a560-68e65fb67b6e","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843092,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Mn0.D3RygjQ-M_sbAFBnPy-mdO5gT8J7gXzyml_uaG6B4ks"} gateway-1 | {"time_local":"28/Apr/2025:12:24:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/90a7267f-85d1-4c62-9682-197a17362361 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.091","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"ec9726b9a434e5ead9850170168d41a5"} device-1 | {"level":"info","message":"PATCH /devices/90a7267f-85d1-4c62-9682-197a17362361 200 86ms","method":"PATCH","requestID":"ec9726b9a434e5ead9850170168d41a5","responseTime":86,"status":200,"url":"/devices/90a7267f-85d1-4c62-9682-197a17362361"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3d85bbf9931f90981865254489ae51bf","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Mn0.D3RygjQ-M_sbAFBnPy-mdO5gT8J7gXzyml_uaG6B4ks","level":"info","message":"auth send jwt","requestID":"afafbaf088c4fd927606da668caee4de"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"afafbaf088c4fd927606da668caee4de","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"afafbaf088c4fd927606da668caee4de"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:52Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.72215,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/90a7267f-85d1-4c62-9682-197a17362361","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"afafbaf088c4fd927606da668caee4de","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/90a7267f-85d1-4c62-9682-197a17362361","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843092,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Mn0.D3RygjQ-M_sbAFBnPy-mdO5gT8J7gXzyml_uaG6B4ks"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"afafbaf088c4fd927606da668caee4de","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"3d85bbf9931f90981865254489ae51bf"} gateway-1 | {"time_local":"28/Apr/2025:12:24:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2e84fa5c-3373-429d-a560-68e65fb67b6e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.018","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"3d85bbf9931f90981865254489ae51bf"} device-1 | {"level":"info","message":"POST /devices/2e84fa5c-3373-429d-a560-68e65fb67b6e/websocket 200 15ms","method":"POST","requestID":"3d85bbf9931f90981865254489ae51bf","responseTime":15,"status":200,"url":"/devices/2e84fa5c-3373-429d-a560-68e65fb67b6e/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"afafbaf088c4fd927606da668caee4de"} gateway-1 | {"time_local":"28/Apr/2025:12:24:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/90a7267f-85d1-4c62-9682-197a17362361/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"afafbaf088c4fd927606da668caee4de"} device-1 | {"level":"info","message":"POST /devices/90a7267f-85d1-4c62-9682-197a17362361/websocket 200 37ms","method":"POST","requestID":"afafbaf088c4fd927606da668caee4de","responseTime":37,"status":200,"url":"/devices/90a7267f-85d1-4c62-9682-197a17362361/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2e84fa5c-3373-429d-a560-68e65fb67b6e' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/90a7267f-85d1-4c62-9682-197a17362361' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Mn0.D3RygjQ-M_sbAFBnPy-mdO5gT8J7gXzyml_uaG6B4ks","level":"info","message":"auth send jwt","requestID":"23c2302e81da32bd3cf36e29f2ee4527"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"23c2302e81da32bd3cf36e29f2ee4527","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"23c2302e81da32bd3cf36e29f2ee4527"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:52Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":21.055764,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/90a7267f-85d1-4c62-9682-197a17362361","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"23c2302e81da32bd3cf36e29f2ee4527","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/90a7267f-85d1-4c62-9682-197a17362361","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843092,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Mn0.D3RygjQ-M_sbAFBnPy-mdO5gT8J7gXzyml_uaG6B4ks"} authorization-1 | {"level":"info","message":"POST /authorize 200 24ms","method":"POST","requestID":"23c2302e81da32bd3cf36e29f2ee4527","responseTime":24,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90a7267f-85d1-4c62-9682-197a17362361","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90a7267f-85d1-4c62-9682-197a17362361","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:51.783630362Z"}]},"request_id":"6796488a-c312-4f4e-bf13-44a5057ae15f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843092.933923} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"23c2302e81da32bd3cf36e29f2ee4527","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"23c2302e81da32bd3cf36e29f2ee4527"} device-1 | {"level":"info","message":"GET /devices/90a7267f-85d1-4c62-9682-197a17362361? 200 31ms","method":"GET","requestID":"23c2302e81da32bd3cf36e29f2ee4527","responseTime":31,"status":200,"url":"/devices/90a7267f-85d1-4c62-9682-197a17362361?"} gateway-1 | {"time_local":"28/Apr/2025:12:24:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/90a7267f-85d1-4c62-9682-197a17362361? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.033","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"23c2302e81da32bd3cf36e29f2ee4527"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Mn0.D3RygjQ-M_sbAFBnPy-mdO5gT8J7gXzyml_uaG6B4ks","level":"info","message":"auth send jwt","requestID":"78b66f63c9a66335926eb03012c0eeec"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"78b66f63c9a66335926eb03012c0eeec","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"78b66f63c9a66335926eb03012c0eeec"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:52Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.633614,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e84fa5c-3373-429d-a560-68e65fb67b6e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"78b66f63c9a66335926eb03012c0eeec","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/2e84fa5c-3373-429d-a560-68e65fb67b6e","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843092,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Mn0.D3RygjQ-M_sbAFBnPy-mdO5gT8J7gXzyml_uaG6B4ks"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"78b66f63c9a66335926eb03012c0eeec","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e84fa5c-3373-429d-a560-68e65fb67b6e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e84fa5c-3373-429d-a560-68e65fb67b6e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:51.850501302Z"}]},"request_id":"91f0e862-e78f-4a1c-a28b-410f2dc94859","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843092.9486666} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"78b66f63c9a66335926eb03012c0eeec","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"78b66f63c9a66335926eb03012c0eeec"} gateway-1 | {"time_local":"28/Apr/2025:12:24:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2e84fa5c-3373-429d-a560-68e65fb67b6e? 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":"78b66f63c9a66335926eb03012c0eeec"} device-1 | {"level":"info","message":"GET /devices/2e84fa5c-3373-429d-a560-68e65fb67b6e? 200 11ms","method":"GET","requestID":"78b66f63c9a66335926eb03012c0eeec","responseTime":11,"status":200,"url":"/devices/2e84fa5c-3373-429d-a560-68e65fb67b6e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Mn0.D3RygjQ-M_sbAFBnPy-mdO5gT8J7gXzyml_uaG6B4ks","level":"info","message":"auth send jwt","requestID":"34768a521640e13ff717cba5f7beec15"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"34768a521640e13ff717cba5f7beec15","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"34768a521640e13ff717cba5f7beec15"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:52Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.641139,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"34768a521640e13ff717cba5f7beec15","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843092,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Mn0.D3RygjQ-M_sbAFBnPy-mdO5gT8J7gXzyml_uaG6B4ks"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"34768a521640e13ff717cba5f7beec15","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/804d97e2-b674-4647-80a8-24b52718df45"},"level":"info","message":"Attempting to run experiment","requestID":"34768a521640e13ff717cba5f7beec15"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/804d97e2-b674-4647-80a8-24b52718df45"},"level":"info","message":"Attempting to book experiment","requestID":"34768a521640e13ff717cba5f7beec15"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/804d97e2-b674-4647-80a8-24b52718df45"},"level":"info","message":"Successfully booked experiment","requestID":"34768a521640e13ff717cba5f7beec15"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c9705020-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c9707730-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:53Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.618279,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:53Z"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/90a7267f-85d1-4c62-9682-197a17362361","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c9705020-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/90a7267f-85d1-4c62-9682-197a17362361","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843092,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Mn0.D3RygjQ-M_sbAFBnPy-mdO5gT8J7gXzyml_uaG6B4ks"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c9705020-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.729297,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e84fa5c-3373-429d-a560-68e65fb67b6e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c9707730-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/2e84fa5c-3373-429d-a560-68e65fb67b6e","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843092,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Mn0.D3RygjQ-M_sbAFBnPy-mdO5gT8J7gXzyml_uaG6B4ks"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c9707730-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90a7267f-85d1-4c62-9682-197a17362361","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90a7267f-85d1-4c62-9682-197a17362361","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:51.783630362Z"}]},"request_id":"3186b082-bc74-4b91-893e-d5a009d8c69d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843093.0327055} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c9705020-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e84fa5c-3373-429d-a560-68e65fb67b6e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e84fa5c-3373-429d-a560-68e65fb67b6e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:51.850501302Z"}]},"request_id":"57779dfd-1f92-4091-9828-625bcce0fe0c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843093.0335124} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c9707730-242b-11f0-a4ab-3996a0934271","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c9705020-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/90a7267f-85d1-4c62-9682-197a17362361? 200 11ms","method":"GET","requestID":"c9705020-242b-11f0-a4ab-3996a0934271","responseTime":11,"status":200,"url":"/devices/90a7267f-85d1-4c62-9682-197a17362361?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c9707730-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/2e84fa5c-3373-429d-a560-68e65fb67b6e? 200 10ms","method":"GET","requestID":"c9707730-242b-11f0-a4ab-3996a0934271","responseTime":10,"status":200,"url":"/devices/2e84fa5c-3373-429d-a560-68e65fb67b6e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/804d97e2-b674-4647-80a8-24b52718df45"},"level":"info","message":"Setting up experiment","requestID":"34768a521640e13ff717cba5f7beec15"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/804d97e2-b674-4647-80a8-24b52718df45"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"34768a521640e13ff717cba5f7beec15"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/804d97e2-b674-4647-80a8-24b52718df45"},"level":"info","message":"Successfully locked booking for experiment","requestID":"34768a521640e13ff717cba5f7beec15"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/804d97e2-b674-4647-80a8-24b52718df45"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"34768a521640e13ff717cba5f7beec15"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/804d97e2-b674-4647-80a8-24b52718df45"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"34768a521640e13ff717cba5f7beec15"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/804d97e2-b674-4647-80a8-24b52718df45"},"level":"info","message":"Attempting to update booking for experiment","requestID":"34768a521640e13ff717cba5f7beec15"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/804d97e2-b674-4647-80a8-24b52718df45"},"level":"info","message":"Successfully updated booking for experiment","requestID":"34768a521640e13ff717cba5f7beec15"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/804d97e2-b674-4647-80a8-24b52718df45"},"level":"info","message":"Successfully set up experiment","requestID":"34768a521640e13ff717cba5f7beec15"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c97b9ac0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c97ef620-242b-11f0-a4ab-3996a0934271"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/804d97e2-b674-4647-80a8-24b52718df45"},"level":"info","message":"Successfully running experiment","requestID":"34768a521640e13ff717cba5f7beec15"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:53Z"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.59742,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:53Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c97f1d30-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/90a7267f-85d1-4c62-9682-197a17362361","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c97b9ac0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/90a7267f-85d1-4c62-9682-197a17362361","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843092,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Mn0.D3RygjQ-M_sbAFBnPy-mdO5gT8J7gXzyml_uaG6B4ks"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c97b9ac0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:53Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.640195,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e84fa5c-3373-429d-a560-68e65fb67b6e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c97ef620-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/2e84fa5c-3373-429d-a560-68e65fb67b6e","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843092,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Mn0.D3RygjQ-M_sbAFBnPy-mdO5gT8J7gXzyml_uaG6B4ks"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c97ef620-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:53Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90a7267f-85d1-4c62-9682-197a17362361","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9388f003-e342-4756-bb91-8310fc7a8039","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843093.1291914} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.408139,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/90a7267f-85d1-4c62-9682-197a17362361","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c97f1d30-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/90a7267f-85d1-4c62-9682-197a17362361","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c97f1d30-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90a7267f-85d1-4c62-9682-197a17362361","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90a7267f-85d1-4c62-9682-197a17362361","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:51.783630362Z"}]},"request_id":"de7f8694-9cd1-458e-93a7-0213e7f943ee","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843093.1303215} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e84fa5c-3373-429d-a560-68e65fb67b6e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e84fa5c-3373-429d-a560-68e65fb67b6e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:51.850501302Z"}]},"request_id":"78dfce54-730c-4779-9be0-94e27363ab06","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843093.1313345} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c97b9ac0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c97ef620-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F804d97e2-b674-4647-80a8-24b52718df45#owner@http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F804d97e2-b674-4647-80a8-24b52718df45","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"fc8d2ab7-8b1a-4ceb-a03b-4722d1214bc1","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843093.1368306} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3f08e754-8f3e-4059-8144-354893531bf9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843093.136986} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c97f1d30-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/90a7267f-85d1-4c62-9682-197a17362361/signaling 200 15ms","method":"POST","requestID":"c97f1d30-242b-11f0-a4ab-3996a0934271","responseTime":15,"status":200,"url":"/devices/90a7267f-85d1-4c62-9682-197a17362361/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"34768a521640e13ff717cba5f7beec15","responseTime":12,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c97b9ac0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/90a7267f-85d1-4c62-9682-197a17362361? 200 39ms","method":"GET","requestID":"c97b9ac0-242b-11f0-a4ab-3996a0934271","responseTime":39,"status":200,"url":"/devices/90a7267f-85d1-4c62-9682-197a17362361?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c97ef620-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/2e84fa5c-3373-429d-a560-68e65fb67b6e? 200 20ms","method":"GET","requestID":"c97ef620-242b-11f0-a4ab-3996a0934271","responseTime":20,"status":200,"url":"/devices/2e84fa5c-3373-429d-a560-68e65fb67b6e?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c9822a70-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c9862210-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:53Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/804d97e2-b674-4647-80a8-24b52718df45","user":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"34768a521640e13ff717cba5f7beec15"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:53Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e84fa5c-3373-429d-a560-68e65fb67b6e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c42ef131-7903-4036-8598-51b9b72dae62","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843093.1715746} gateway-1 | {"time_local":"28/Apr/2025:12:24:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.194","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"34768a521640e13ff717cba5f7beec15"} experiment-1 | {"level":"info","message":"POST /experiments? 201 190ms","method":"POST","requestID":"34768a521640e13ff717cba5f7beec15","responseTime":190,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.453875,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e84fa5c-3373-429d-a560-68e65fb67b6e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c9822a70-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2e84fa5c-3373-429d-a560-68e65fb67b6e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"c9822a70-242b-11f0-a4ab-3996a0934271","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90a7267f-85d1-4c62-9682-197a17362361","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b56920bb-53a0-454e-a09c-b2847f020f7f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843093.1740518} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.53669,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/90a7267f-85d1-4c62-9682-197a17362361","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c9862210-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/90a7267f-85d1-4c62-9682-197a17362361","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5M30.t6YMC4IFomzsy1ec29FJKyctcjOlNBdDAcfICnAxFFU","level":"info","message":"auth send jwt","requestID":"a3a59ff94532be240992193aeef00c95"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c9862210-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a3a59ff94532be240992193aeef00c95","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a3a59ff94532be240992193aeef00c95"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c9822a70-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/2e84fa5c-3373-429d-a560-68e65fb67b6e/signaling 200 36ms","method":"POST","requestID":"c9822a70-242b-11f0-a4ab-3996a0934271","responseTime":36,"status":200,"url":"/devices/2e84fa5c-3373-429d-a560-68e65fb67b6e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c9862210-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/90a7267f-85d1-4c62-9682-197a17362361/signaling 200 11ms","method":"POST","requestID":"c9862210-242b-11f0-a4ab-3996a0934271","responseTime":11,"status":200,"url":"/devices/90a7267f-85d1-4c62-9682-197a17362361/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:53Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.852673,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/90a7267f-85d1-4c62-9682-197a17362361","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a3a59ff94532be240992193aeef00c95","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/90a7267f-85d1-4c62-9682-197a17362361","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843093,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5M30.t6YMC4IFomzsy1ec29FJKyctcjOlNBdDAcfICnAxFFU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a3a59ff94532be240992193aeef00c95","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c9881de0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24: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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90a7267f-85d1-4c62-9682-197a17362361","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90a7267f-85d1-4c62-9682-197a17362361","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:51.783630362Z"}]},"request_id":"3094e7dc-40cc-441f-ace5-6c8941c4b06f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843093.1863558} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e84fa5c-3373-429d-a560-68e65fb67b6e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9089d9a7-886e-42ea-9a49-63481cc311a1","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843093.1864855} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a3a59ff94532be240992193aeef00c95","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.642645,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e84fa5c-3373-429d-a560-68e65fb67b6e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c9881de0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2e84fa5c-3373-429d-a560-68e65fb67b6e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c9881de0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a3a59ff94532be240992193aeef00c95"} gateway-1 | {"time_local":"28/Apr/2025:12:24:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/90a7267f-85d1-4c62-9682-197a17362361? 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":"a3a59ff94532be240992193aeef00c95"} device-1 | {"level":"info","message":"GET /devices/90a7267f-85d1-4c62-9682-197a17362361? 200 12ms","method":"GET","requestID":"a3a59ff94532be240992193aeef00c95","responseTime":12,"status":200,"url":"/devices/90a7267f-85d1-4c62-9682-197a17362361?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c9881de0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/2e84fa5c-3373-429d-a560-68e65fb67b6e/signaling 200 9ms","method":"POST","requestID":"c9881de0-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/2e84fa5c-3373-429d-a560-68e65fb67b6e/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/804d97e2-b674-4647-80a8-24b52718df45"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"34768a521640e13ff717cba5f7beec15"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/804d97e2-b674-4647-80a8-24b52718df45"},"level":"info","message":"Building connection plan","requestID":"34768a521640e13ff717cba5f7beec15"} 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":"54254dfc-f005-40c3-8642-a821f70106c0"},{"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":"23934ded-6eca-469f-a5c5-197b8a50e858"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"fdb54951-cdb0-4bd7-9cee-4c202984bdc4"}]},"level":"info","message":"Built pairwise service configurations","requestID":"34768a521640e13ff717cba5f7beec15"} 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/2e84fa5c-3373-429d-a560-68e65fb67b6e"},{"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/90a7267f-85d1-4c62-9682-197a17362361"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"34768a521640e13ff717cba5f7beec15"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5M30.t6YMC4IFomzsy1ec29FJKyctcjOlNBdDAcfICnAxFFU","level":"info","message":"auth send jwt","requestID":"abecd32e7d7319f44e69ae6b3e0d40ad"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"c98d9c20-242b-11f0-a4ab-3996a0934271"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"abecd32e7d7319f44e69ae6b3e0d40ad","responseTime":26,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"abecd32e7d7319f44e69ae6b3e0d40ad"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:53Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.652647,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:53Z"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c98d9c20-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843092,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Mn0.D3RygjQ-M_sbAFBnPy-mdO5gT8J7gXzyml_uaG6B4ks"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c98d9c20-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.538999,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e84fa5c-3373-429d-a560-68e65fb67b6e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"abecd32e7d7319f44e69ae6b3e0d40ad","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/2e84fa5c-3373-429d-a560-68e65fb67b6e","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843093,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5M30.t6YMC4IFomzsy1ec29FJKyctcjOlNBdDAcfICnAxFFU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"abecd32e7d7319f44e69ae6b3e0d40ad","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e84fa5c-3373-429d-a560-68e65fb67b6e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e84fa5c-3373-429d-a560-68e65fb67b6e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:51.850501302Z"}]},"request_id":"2e61856c-e2e0-4ca3-ac0a-8f5e73846eda","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843093.2263217} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"abecd32e7d7319f44e69ae6b3e0d40ad","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"abecd32e7d7319f44e69ae6b3e0d40ad"} gateway-1 | {"time_local":"28/Apr/2025:12:24:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2e84fa5c-3373-429d-a560-68e65fb67b6e? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"abecd32e7d7319f44e69ae6b3e0d40ad"} device-1 | {"level":"info","message":"GET /devices/2e84fa5c-3373-429d-a560-68e65fb67b6e? 200 10ms","method":"GET","requestID":"abecd32e7d7319f44e69ae6b3e0d40ad","responseTime":10,"status":200,"url":"/devices/2e84fa5c-3373-429d-a560-68e65fb67b6e?"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","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%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"5b0ec96b-494a-4d51-9032-420f9a802aed","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843093.2301948} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dc0da008-a109-4e6f-8b4d-b60255db6d99","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843093.230459} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"c98d9c20-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"c98d9c20-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"c98d9c20-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/306fbbc3-a909-4840-ba89-3814a7ea6a13'","requestID":"c98d9c20-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/306fbbc3-a909-4840-ba89-3814a7ea6a13'","requestID":"c98d9c20-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"c98d9c20-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 22ms","method":"POST","requestID":"c98d9c20-242b-11f0-a4ab-3996a0934271","responseTime":22,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"c98d9c20-242b-11f0-a4ab-3996a0934271"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/804d97e2-b674-4647-80a8-24b52718df45"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"34768a521640e13ff717cba5f7beec15"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c99c4220-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:53Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90a7267f-85d1-4c62-9682-197a17362361","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"481ed109-7bba-457b-a0a9-9a6a78a046ea","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843093.3179169} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.203258,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/90a7267f-85d1-4c62-9682-197a17362361","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c99c4220-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/90a7267f-85d1-4c62-9682-197a17362361","object_type":"device","rebac_allow":false,"scope_allow":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":"c99c4220-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c99c4220-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/90a7267f-85d1-4c62-9682-197a17362361/signaling 200 7ms","method":"POST","requestID":"c99c4220-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/devices/90a7267f-85d1-4c62-9682-197a17362361/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c99da1b0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:53Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e84fa5c-3373-429d-a560-68e65fb67b6e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"77c1e181-9897-44ad-9082-99bb42db16e3","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843093.3273587} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.229231,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e84fa5c-3373-429d-a560-68e65fb67b6e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c99da1b0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2e84fa5c-3373-429d-a560-68e65fb67b6e","object_type":"device","rebac_allow":false,"scope_allow":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":"c99da1b0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c99da1b0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/2e84fa5c-3373-429d-a560-68e65fb67b6e/signaling 200 8ms","method":"POST","requestID":"c99da1b0-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/2e84fa5c-3373-429d-a560-68e65fb67b6e/signaling"} device-1 | {"device":"90a7267f-85d1-4c62-9682-197a17362361","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"306fbbc3-a909-4840-ba89-3814a7ea6a13","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"2e84fa5c-3373-429d-a560-68e65fb67b6e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"306fbbc3-a909-4840-ba89-3814a7ea6a13","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"2e84fa5c-3373-429d-a560-68e65fb67b6e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2e84fa5c-3373-429d-a560-68e65fb67b6e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2e84fa5c-3373-429d-a560-68e65fb67b6e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2e84fa5c-3373-429d-a560-68e65fb67b6e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/306fbbc3-a909-4840-ba89-3814a7ea6a13' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"306fbbc3-a909-4840-ba89-3814a7ea6a13","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"22ed730ee3cd35f58e391cce0dff909e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"22ed730ee3cd35f58e391cce0dff909e","responseTime":3,"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/2e84fa5c-3373-429d-a560-68e65fb67b6e"},{"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/90a7267f-85d1-4c62-9682-197a17362361"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/306fbbc3-a909-4840-ba89-3814a7ea6a13"}}},"level":"info","message":"received a callback","requestID":"22ed730ee3cd35f58e391cce0dff909e"} device-1 | {"device":"90a7267f-85d1-4c62-9682-197a17362361","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"90a7267f-85d1-4c62-9682-197a17362361","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"90a7267f-85d1-4c62-9682-197a17362361","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"22ed730ee3cd35f58e391cce0dff909e","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24: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.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"22ed730ee3cd35f58e391cce0dff909e"} device-1 | {"data":{"peerconnection":"306fbbc3-a909-4840-ba89-3814a7ea6a13","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"2e84fa5c-3373-429d-a560-68e65fb67b6e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"90a7267f-85d1-4c62-9682-197a17362361","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2e84fa5c-3373-429d-a560-68e65fb67b6e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"90a7267f-85d1-4c62-9682-197a17362361","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"306fbbc3-a909-4840-ba89-3814a7ea6a13","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/306fbbc3-a909-4840-ba89-3814a7ea6a13' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"306fbbc3-a909-4840-ba89-3814a7ea6a13","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c83802f6db3dd79b0ba0170bf7c3ae60","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c83802f6db3dd79b0ba0170bf7c3ae60","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/2e84fa5c-3373-429d-a560-68e65fb67b6e"},{"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/90a7267f-85d1-4c62-9682-197a17362361"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/306fbbc3-a909-4840-ba89-3814a7ea6a13"}}},"level":"info","message":"received a callback","requestID":"c83802f6db3dd79b0ba0170bf7c3ae60"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"cad3b0b0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:55Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F306fbbc3-a909-4840-ba89-3814a7ea6a13","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a8c02039-4927-4662-bb21-b6092d0e573f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843095.3599718} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.68787,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/306fbbc3-a909-4840-ba89-3814a7ea6a13","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cad3b0b0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/306fbbc3-a909-4840-ba89-3814a7ea6a13","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":"cad3b0b0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"cad3b0b0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /peerconnections/306fbbc3-a909-4840-ba89-3814a7ea6a13 200 8ms","method":"GET","requestID":"cad3b0b0-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/peerconnections/306fbbc3-a909-4840-ba89-3814a7ea6a13"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 28ms","method":"POST","requestID":"c83802f6db3dd79b0ba0170bf7c3ae60","responseTime":28,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24: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.031","http_referrer":"","http_user_agent":"node-fetch","requestID":"c83802f6db3dd79b0ba0170bf7c3ae60"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cad75a30-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:55Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e84fa5c-3373-429d-a560-68e65fb67b6e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1d00efc9-62b8-4680-bb5b-5822673948a9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843095.3832955} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.13727,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e84fa5c-3373-429d-a560-68e65fb67b6e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cad75a30-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2e84fa5c-3373-429d-a560-68e65fb67b6e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cad75a30-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cad75a30-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/2e84fa5c-3373-429d-a560-68e65fb67b6e/signaling 200 9ms","method":"POST","requestID":"cad75a30-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/2e84fa5c-3373-429d-a560-68e65fb67b6e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cad8e0d0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:55Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90a7267f-85d1-4c62-9682-197a17362361","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fbb0c713-c6a5-4c43-bf79-21fde4ae19bc","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843095.3948982} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.01038,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/90a7267f-85d1-4c62-9682-197a17362361","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cad8e0d0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/90a7267f-85d1-4c62-9682-197a17362361","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cad8e0d0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cad8e0d0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/90a7267f-85d1-4c62-9682-197a17362361/signaling 200 9ms","method":"POST","requestID":"cad8e0d0-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/90a7267f-85d1-4c62-9682-197a17362361/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5NX0.aHlSfPJs99u0kSQYIg1s8eRQjFiahf8EH1YeU_ucp5w","level":"info","message":"auth send jwt","requestID":"8f9fd0d6b60499a91eccac45c66ada44"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8f9fd0d6b60499a91eccac45c66ada44","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/804d97e2-b674-4647-80a8-24b52718df45","requestID":"8f9fd0d6b60499a91eccac45c66ada44"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:55Z"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":25.50667,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/804d97e2-b674-4647-80a8-24b52718df45","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"8f9fd0d6b60499a91eccac45c66ada44","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/804d97e2-b674-4647-80a8-24b52718df45","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843095,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5NX0.aHlSfPJs99u0kSQYIg1s8eRQjFiahf8EH1YeU_ucp5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"8f9fd0d6b60499a91eccac45c66ada44","responseTime":28,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/804d97e2-b674-4647-80a8-24b52718df45","requestID":"8f9fd0d6b60499a91eccac45c66ada44"} gateway-1 | {"time_local":"28/Apr/2025:12:24:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/804d97e2-b674-4647-80a8-24b52718df45 HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8f9fd0d6b60499a91eccac45c66ada44"} experiment-1 | {"level":"info","message":"GET /experiments/804d97e2-b674-4647-80a8-24b52718df45 200 33ms","method":"GET","requestID":"8f9fd0d6b60499a91eccac45c66ada44","responseTime":33,"status":200,"url":"/experiments/804d97e2-b674-4647-80a8-24b52718df45"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5NX0.aHlSfPJs99u0kSQYIg1s8eRQjFiahf8EH1YeU_ucp5w","level":"info","message":"auth send jwt","requestID":"aef2ed46f7d00f5b91494df8a63c7df7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"aef2ed46f7d00f5b91494df8a63c7df7","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/804d97e2-b674-4647-80a8-24b52718df45","requestID":"aef2ed46f7d00f5b91494df8a63c7df7"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:55Z"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.772903,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:55Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/804d97e2-b674-4647-80a8-24b52718df45","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"aef2ed46f7d00f5b91494df8a63c7df7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/804d97e2-b674-4647-80a8-24b52718df45","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843095,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5NX0.aHlSfPJs99u0kSQYIg1s8eRQjFiahf8EH1YeU_ucp5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"aef2ed46f7d00f5b91494df8a63c7df7","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/804d97e2-b674-4647-80a8-24b52718df45"},"level":"info","message":"Attempting to finish experiment","requestID":"aef2ed46f7d00f5b91494df8a63c7df7"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"cae89840-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:55Z"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.779668,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:55Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/306fbbc3-a909-4840-ba89-3814a7ea6a13","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cae89840-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:http://localhost/peerconnections/306fbbc3-a909-4840-ba89-3814a7ea6a13","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843095,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5NX0.aHlSfPJs99u0kSQYIg1s8eRQjFiahf8EH1YeU_ucp5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"cae89840-242b-11f0-a4ab-3996a0934271","responseTime":26,"status":200,"url":"/authorize"} device-1 | {"device":"2e84fa5c-3373-429d-a560-68e65fb67b6e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2e84fa5c-3373-429d-a560-68e65fb67b6e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2e84fa5c-3373-429d-a560-68e65fb67b6e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"90a7267f-85d1-4c62-9682-197a17362361","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"90a7267f-85d1-4c62-9682-197a17362361","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"90a7267f-85d1-4c62-9682-197a17362361","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/306fbbc3-a909-4840-ba89-3814a7ea6a13' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/306fbbc3-a909-4840-ba89-3814a7ea6a13' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"306fbbc3-a909-4840-ba89-3814a7ea6a13","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F306fbbc3-a909-4840-ba89-3814a7ea6a13': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F306fbbc3-a909-4840-ba89-3814a7ea6a13","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"0b89c0d1-ee35-44dd-85d9-fad5ef42f4c0","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843095.529643} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"760590b3-0c91-4985-bb94-2d817ff64435","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843095.529894} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"76bc2fde24ac6ba8d717a91bea9f67e2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"76bc2fde24ac6ba8d717a91bea9f67e2","responseTime":0,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ded8ed14749381eefc69088cef9d4a0a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"ded8ed14749381eefc69088cef9d4a0a","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/2e84fa5c-3373-429d-a560-68e65fb67b6e"},{"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/90a7267f-85d1-4c62-9682-197a17362361"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/306fbbc3-a909-4840-ba89-3814a7ea6a13"}}},"level":"info","message":"received a callback","requestID":"76bc2fde24ac6ba8d717a91bea9f67e2"} 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/2e84fa5c-3373-429d-a560-68e65fb67b6e"},{"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/90a7267f-85d1-4c62-9682-197a17362361"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/306fbbc3-a909-4840-ba89-3814a7ea6a13"}}},"level":"info","message":"received a callback","requestID":"ded8ed14749381eefc69088cef9d4a0a"} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"cae89840-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"306fbbc3-a909-4840-ba89-3814a7ea6a13","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"cae89840-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"DELETE /peerconnections/306fbbc3-a909-4840-ba89-3814a7ea6a13 204 77ms","method":"DELETE","requestID":"cae89840-242b-11f0-a4ab-3996a0934271","responseTime":77,"status":204,"url":"/peerconnections/306fbbc3-a909-4840-ba89-3814a7ea6a13"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/804d97e2-b674-4647-80a8-24b52718df45"},"level":"info","message":"Successfully finished experiment","requestID":"aef2ed46f7d00f5b91494df8a63c7df7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"caf67af0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:55Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e84fa5c-3373-429d-a560-68e65fb67b6e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"656a92fa-35ec-4f85-8e2a-9f75982d1a0e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843095.5876067} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.274806,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e84fa5c-3373-429d-a560-68e65fb67b6e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"caf67af0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2e84fa5c-3373-429d-a560-68e65fb67b6e","object_type":"device","rebac_allow":false,"scope_allow":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":"caf67af0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"caf67af0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/2e84fa5c-3373-429d-a560-68e65fb67b6e/signaling 200 34ms","method":"POST","requestID":"caf67af0-242b-11f0-a4ab-3996a0934271","responseTime":34,"status":200,"url":"/devices/2e84fa5c-3373-429d-a560-68e65fb67b6e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cafbf930-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F804d97e2-b674-4647-80a8-24b52718df45': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F804d97e2-b674-4647-80a8-24b52718df45","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"028c0939-1f14-438d-8a2b-607441113b00","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843095.617394} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f7651585-c489-4573-9bd9-33ac4003e4ca","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843095.6177287} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"aef2ed46f7d00f5b91494df8a63c7df7","responseTime":40,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:55Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90a7267f-85d1-4c62-9682-197a17362361","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d9483e31-47d8-4d93-970a-0cd426f78662","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843095.6264942} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.980419,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/90a7267f-85d1-4c62-9682-197a17362361","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cafbf930-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/90a7267f-85d1-4c62-9682-197a17362361","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cafbf930-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cafbf930-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/90a7267f-85d1-4c62-9682-197a17362361/signaling 200 15ms","method":"POST","requestID":"cafbf930-242b-11f0-a4ab-3996a0934271","responseTime":15,"status":200,"url":"/devices/90a7267f-85d1-4c62-9682-197a17362361/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/804d97e2-b674-4647-80a8-24b52718df45","requestID":"aef2ed46f7d00f5b91494df8a63c7df7"} gateway-1 | {"time_local":"28/Apr/2025:12:24:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/804d97e2-b674-4647-80a8-24b52718df45 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.238","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aef2ed46f7d00f5b91494df8a63c7df7"} experiment-1 | {"level":"info","message":"DELETE /experiments/804d97e2-b674-4647-80a8-24b52718df45 204 235ms","method":"DELETE","requestID":"aef2ed46f7d00f5b91494df8a63c7df7","responseTime":235,"status":204,"url":"/experiments/804d97e2-b674-4647-80a8-24b52718df45"} gateway-1 | {"time_local":"28/Apr/2025:12:24:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2787","request_time":"2.861","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"ef3ed563485a3d96c5db2a56cab03f5b"} gateway-1 | {"time_local":"28/Apr/2025:12:24:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2789","request_time":"2.831","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"c2bb83819189ab4ae203a5ba20c61840"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 190ms","method":"POST","requestID":"76bc2fde24ac6ba8d717a91bea9f67e2","responseTime":190,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24: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.193","http_referrer":"","http_user_agent":"node-fetch","requestID":"76bc2fde24ac6ba8d717a91bea9f67e2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 190ms","method":"POST","requestID":"ded8ed14749381eefc69088cef9d4a0a","responseTime":190,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24: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.193","http_referrer":"","http_user_agent":"node-fetch","requestID":"ded8ed14749381eefc69088cef9d4a0a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5NX0.aHlSfPJs99u0kSQYIg1s8eRQjFiahf8EH1YeU_ucp5w","level":"info","message":"auth send jwt","requestID":"024365b7445fda5fe4eef815bc87a23e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"024365b7445fda5fe4eef815bc87a23e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"024365b7445fda5fe4eef815bc87a23e"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/90a7267f-85d1-4c62-9682-197a17362361' closed"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:55Z"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.058083,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"024365b7445fda5fe4eef815bc87a23e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843095,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5NX0.aHlSfPJs99u0kSQYIg1s8eRQjFiahf8EH1YeU_ucp5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"024365b7445fda5fe4eef815bc87a23e","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/2e84fa5c-3373-429d-a560-68e65fb67b6e' 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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dc0798d-d329-49fe-9ef0-9811c27a283c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ddf30025-36f8-48aa-a217-2b64d2b4dd28","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843095.7728524} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"024365b7445fda5fe4eef815bc87a23e","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9f9742b5-eb15-4536-aeb7-7575d3d3b95f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843095.778846} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"024365b7445fda5fe4eef815bc87a23e","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dc0798d-d329-49fe-9ef0-9811c27a283c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"f38921e8-3782-4ca2-8f3a-ac5aa1c5fb0e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843095.8127737} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2549d7cf-c19f-4b07-b6e5-f52eeb23a6c3","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843095.813059} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"024365b7445fda5fe4eef815bc87a23e","responseTime":36,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dc0798d-d329-49fe-9ef0-9811c27a283c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dc0798d-d329-49fe-9ef0-9811c27a283c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:55.812736449Z"}]},"request_id":"48df5a05-c1cc-49a8-8ba2-157f650aa873","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843095.8174717} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"024365b7445fda5fe4eef815bc87a23e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"024365b7445fda5fe4eef815bc87a23e"} gateway-1 | {"time_local":"28/Apr/2025:12:24: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.099","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"024365b7445fda5fe4eef815bc87a23e"} device-1 | {"level":"info","message":"POST /devices? 201 91ms","method":"POST","requestID":"024365b7445fda5fe4eef815bc87a23e","responseTime":91,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5NX0.aHlSfPJs99u0kSQYIg1s8eRQjFiahf8EH1YeU_ucp5w","level":"info","message":"auth send jwt","requestID":"bcb1368a3306f656e0838b3874c99f31"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bcb1368a3306f656e0838b3874c99f31","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"bcb1368a3306f656e0838b3874c99f31"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:55Z"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.757139,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bcb1368a3306f656e0838b3874c99f31","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843095,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5NX0.aHlSfPJs99u0kSQYIg1s8eRQjFiahf8EH1YeU_ucp5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bcb1368a3306f656e0838b3874c99f31","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1c42583-a46b-4f4b-91cf-4ad898415e54","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0f680693-020d-42b4-ba83-6cb38494719e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843095.8659582} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bcb1368a3306f656e0838b3874c99f31","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3e230946-1461-472f-ba1a-3af80a5564da","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843095.8712385} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"bcb1368a3306f656e0838b3874c99f31","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1c42583-a46b-4f4b-91cf-4ad898415e54","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"20ecec14-be31-48bc-96ac-5053201f7158","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843095.905523} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ec17dee2-9d3e-4721-ba5b-46f335e3616d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843095.9058304} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"bcb1368a3306f656e0838b3874c99f31","responseTime":37,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1c42583-a46b-4f4b-91cf-4ad898415e54","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1c42583-a46b-4f4b-91cf-4ad898415e54","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:55.905500080Z"}]},"request_id":"ce6c5c6a-5253-4398-b020-1017aef20736","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843095.9103749} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bcb1368a3306f656e0838b3874c99f31","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"bcb1368a3306f656e0838b3874c99f31"} gateway-1 | {"time_local":"28/Apr/2025:12:24: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.092","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bcb1368a3306f656e0838b3874c99f31"} device-1 | {"level":"info","message":"POST /devices? 201 88ms","method":"POST","requestID":"bcb1368a3306f656e0838b3874c99f31","responseTime":88,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Nn0.zMPWGIWm6_M4EJTRz4ZiyR4xEtmgQcF908C2V9oIyIM","level":"info","message":"auth send jwt","requestID":"6adc93f5d2e4c97b4e1e5094581a652a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6adc93f5d2e4c97b4e1e5094581a652a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"6adc93f5d2e4c97b4e1e5094581a652a"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:56Z"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.724474,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:56Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Nn0.zMPWGIWm6_M4EJTRz4ZiyR4xEtmgQcF908C2V9oIyIM","level":"info","message":"auth send jwt","requestID":"d0bda2f818420d663ace671514ebfc9b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d0bda2f818420d663ace671514ebfc9b","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dc0798d-d329-49fe-9ef0-9811c27a283c","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"6adc93f5d2e4c97b4e1e5094581a652a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/0dc0798d-d329-49fe-9ef0-9811c27a283c","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843096,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Nn0.zMPWGIWm6_M4EJTRz4ZiyR4xEtmgQcF908C2V9oIyIM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6adc93f5d2e4c97b4e1e5094581a652a","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"d0bda2f818420d663ace671514ebfc9b"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:56Z"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.65943,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d0bda2f818420d663ace671514ebfc9b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843096,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Nn0.zMPWGIWm6_M4EJTRz4ZiyR4xEtmgQcF908C2V9oIyIM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d0bda2f818420d663ace671514ebfc9b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dc0798d-d329-49fe-9ef0-9811c27a283c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dc0798d-d329-49fe-9ef0-9811c27a283c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:55.812736449Z"}]},"request_id":"9db30f5e-bce0-44fe-bfc2-65f063b65ebe","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843096.8170974} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"6adc93f5d2e4c97b4e1e5094581a652a","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b284d341-0bbf-48b1-84d4-7b2ad5ecf9a7","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843096.821135} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"6adc93f5d2e4c97b4e1e5094581a652a","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1c42583-a46b-4f4b-91cf-4ad898415e54","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1c42583-a46b-4f4b-91cf-4ad898415e54","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:55.905500080Z"}]},"request_id":"dfaeef05-81de-4df8-8e68-91bf7899a2ed","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843096.823554} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d0bda2f818420d663ace671514ebfc9b","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"58264885-9a5d-4f4f-89cf-93d8a60e9c7b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843096.8276772} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"d0bda2f818420d663ace671514ebfc9b","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dc0798d-d329-49fe-9ef0-9811c27a283c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dc0798d-d329-49fe-9ef0-9811c27a283c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:55.812736449Z"}]},"request_id":"70ba2c1b-d888-46ec-b775-4bc8c9e50866","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843096.8329334} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6adc93f5d2e4c97b4e1e5094581a652a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"6adc93f5d2e4c97b4e1e5094581a652a"} gateway-1 | {"time_local":"28/Apr/2025:12:24:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/0dc0798d-d329-49fe-9ef0-9811c27a283c HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.055","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"6adc93f5d2e4c97b4e1e5094581a652a"} device-1 | {"level":"info","message":"PATCH /devices/0dc0798d-d329-49fe-9ef0-9811c27a283c 200 51ms","method":"PATCH","requestID":"6adc93f5d2e4c97b4e1e5094581a652a","responseTime":51,"status":200,"url":"/devices/0dc0798d-d329-49fe-9ef0-9811c27a283c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Nn0.zMPWGIWm6_M4EJTRz4ZiyR4xEtmgQcF908C2V9oIyIM","level":"info","message":"auth send jwt","requestID":"495d1df38e3e1c6182540cb6eecfd348"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"495d1df38e3e1c6182540cb6eecfd348","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"495d1df38e3e1c6182540cb6eecfd348"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1c42583-a46b-4f4b-91cf-4ad898415e54","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1c42583-a46b-4f4b-91cf-4ad898415e54","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:55.905500080Z"}]},"request_id":"722dc7d4-4701-4be1-882a-bd21df39c93e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843096.8649027} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"d0bda2f818420d663ace671514ebfc9b","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:56Z"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.689388,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:56Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"d0bda2f818420d663ace671514ebfc9b"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dc0798d-d329-49fe-9ef0-9811c27a283c","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"495d1df38e3e1c6182540cb6eecfd348","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/0dc0798d-d329-49fe-9ef0-9811c27a283c","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843096,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Nn0.zMPWGIWm6_M4EJTRz4ZiyR4xEtmgQcF908C2V9oIyIM"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"495d1df38e3e1c6182540cb6eecfd348","responseTime":27,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"28/Apr/2025:12:24:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/a1c42583-a46b-4f4b-91cf-4ad898415e54 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.084","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"d0bda2f818420d663ace671514ebfc9b"} device-1 | {"level":"info","message":"PATCH /devices/a1c42583-a46b-4f4b-91cf-4ad898415e54 200 80ms","method":"PATCH","requestID":"d0bda2f818420d663ace671514ebfc9b","responseTime":80,"status":200,"url":"/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Nn0.zMPWGIWm6_M4EJTRz4ZiyR4xEtmgQcF908C2V9oIyIM","level":"info","message":"auth send jwt","requestID":"48a8164ff93e7ca9144c7f6c50ea7928"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"48a8164ff93e7ca9144c7f6c50ea7928","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"48a8164ff93e7ca9144c7f6c50ea7928"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:56Z"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.957792,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"48a8164ff93e7ca9144c7f6c50ea7928","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843096,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Nn0.zMPWGIWm6_M4EJTRz4ZiyR4xEtmgQcF908C2V9oIyIM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"48a8164ff93e7ca9144c7f6c50ea7928","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"495d1df38e3e1c6182540cb6eecfd348"} gateway-1 | {"time_local":"28/Apr/2025:12:24:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0dc0798d-d329-49fe-9ef0-9811c27a283c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.046","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"495d1df38e3e1c6182540cb6eecfd348"} device-1 | {"level":"info","message":"POST /devices/0dc0798d-d329-49fe-9ef0-9811c27a283c/websocket 200 42ms","method":"POST","requestID":"495d1df38e3e1c6182540cb6eecfd348","responseTime":42,"status":200,"url":"/devices/0dc0798d-d329-49fe-9ef0-9811c27a283c/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"48a8164ff93e7ca9144c7f6c50ea7928"} gateway-1 | {"time_local":"28/Apr/2025:12:24:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a1c42583-a46b-4f4b-91cf-4ad898415e54/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.047","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"48a8164ff93e7ca9144c7f6c50ea7928"} device-1 | {"level":"info","message":"POST /devices/a1c42583-a46b-4f4b-91cf-4ad898415e54/websocket 200 44ms","method":"POST","requestID":"48a8164ff93e7ca9144c7f6c50ea7928","responseTime":44,"status":200,"url":"/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0dc0798d-d329-49fe-9ef0-9811c27a283c' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Nn0.zMPWGIWm6_M4EJTRz4ZiyR4xEtmgQcF908C2V9oIyIM","level":"info","message":"auth send jwt","requestID":"c0df4512014c3c631dc01199d9cbedf4"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c0df4512014c3c631dc01199d9cbedf4","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c0df4512014c3c631dc01199d9cbedf4"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:56Z"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.649472,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dc0798d-d329-49fe-9ef0-9811c27a283c","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c0df4512014c3c631dc01199d9cbedf4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/0dc0798d-d329-49fe-9ef0-9811c27a283c","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843096,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Nn0.zMPWGIWm6_M4EJTRz4ZiyR4xEtmgQcF908C2V9oIyIM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c0df4512014c3c631dc01199d9cbedf4","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dc0798d-d329-49fe-9ef0-9811c27a283c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dc0798d-d329-49fe-9ef0-9811c27a283c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:55.812736449Z"}]},"request_id":"4035be16-61b6-448a-a6bf-a4ce1ab2b5c2","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843096.9405162} authorization-1 | {"level":"info","message":"POST /relations/query 200 22ms","method":"POST","requestID":"c0df4512014c3c631dc01199d9cbedf4","responseTime":22,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c0df4512014c3c631dc01199d9cbedf4"} gateway-1 | {"time_local":"28/Apr/2025:12:24:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0dc0798d-d329-49fe-9ef0-9811c27a283c? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c0df4512014c3c631dc01199d9cbedf4"} device-1 | {"level":"info","message":"GET /devices/0dc0798d-d329-49fe-9ef0-9811c27a283c? 200 30ms","method":"GET","requestID":"c0df4512014c3c631dc01199d9cbedf4","responseTime":30,"status":200,"url":"/devices/0dc0798d-d329-49fe-9ef0-9811c27a283c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Nn0.zMPWGIWm6_M4EJTRz4ZiyR4xEtmgQcF908C2V9oIyIM","level":"info","message":"auth send jwt","requestID":"d489edb8eca72897490c9e51ea23a250"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d489edb8eca72897490c9e51ea23a250","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d489edb8eca72897490c9e51ea23a250"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:56Z"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.655969,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d489edb8eca72897490c9e51ea23a250","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843096,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Nn0.zMPWGIWm6_M4EJTRz4ZiyR4xEtmgQcF908C2V9oIyIM"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"d489edb8eca72897490c9e51ea23a250","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1c42583-a46b-4f4b-91cf-4ad898415e54","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1c42583-a46b-4f4b-91cf-4ad898415e54","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:55.905500080Z"}]},"request_id":"e981d713-0cb0-4618-8270-20c07f8bca16","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843096.9739695} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d489edb8eca72897490c9e51ea23a250","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d489edb8eca72897490c9e51ea23a250"} device-1 | {"level":"info","message":"GET /devices/a1c42583-a46b-4f4b-91cf-4ad898415e54? 200 8ms","method":"GET","requestID":"d489edb8eca72897490c9e51ea23a250","responseTime":8,"status":200,"url":"/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54?"} gateway-1 | {"time_local":"28/Apr/2025:12:24:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a1c42583-a46b-4f4b-91cf-4ad898415e54? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d489edb8eca72897490c9e51ea23a250"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Nn0.zMPWGIWm6_M4EJTRz4ZiyR4xEtmgQcF908C2V9oIyIM","level":"info","message":"auth send jwt","requestID":"6201432b00d82ca24ed3489260ef5931"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6201432b00d82ca24ed3489260ef5931","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"6201432b00d82ca24ed3489260ef5931"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:56Z"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":25.19859,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"6201432b00d82ca24ed3489260ef5931","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843096,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Nn0.zMPWGIWm6_M4EJTRz4ZiyR4xEtmgQcF908C2V9oIyIM"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"6201432b00d82ca24ed3489260ef5931","responseTime":27,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a58bafec-e3fb-4014-a490-b94baa6dcffd"},"level":"info","message":"Attempting to run experiment","requestID":"6201432b00d82ca24ed3489260ef5931"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a58bafec-e3fb-4014-a490-b94baa6dcffd"},"level":"info","message":"Attempting to book experiment","requestID":"6201432b00d82ca24ed3489260ef5931"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a58bafec-e3fb-4014-a490-b94baa6dcffd"},"level":"info","message":"Successfully booked experiment","requestID":"6201432b00d82ca24ed3489260ef5931"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cbd39480-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cbd76510-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:57Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:57Z"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.34323,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dc0798d-d329-49fe-9ef0-9811c27a283c","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cbd39480-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/0dc0798d-d329-49fe-9ef0-9811c27a283c","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843096,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Nn0.zMPWGIWm6_M4EJTRz4ZiyR4xEtmgQcF908C2V9oIyIM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cbd39480-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.704923,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cbd76510-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843096,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Nn0.zMPWGIWm6_M4EJTRz4ZiyR4xEtmgQcF908C2V9oIyIM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cbd76510-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dc0798d-d329-49fe-9ef0-9811c27a283c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dc0798d-d329-49fe-9ef0-9811c27a283c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:55.812736449Z"}]},"request_id":"d555dcb9-0516-4c0a-b44c-c69bc9dde76b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843097.0635157} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"cbd39480-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1c42583-a46b-4f4b-91cf-4ad898415e54","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1c42583-a46b-4f4b-91cf-4ad898415e54","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:55.905500080Z"}]},"request_id":"9333300f-0881-409a-b220-9bb9dd75125b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843097.064149} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"cbd76510-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cbd39480-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/0dc0798d-d329-49fe-9ef0-9811c27a283c? 200 39ms","method":"GET","requestID":"cbd39480-242b-11f0-a4ab-3996a0934271","responseTime":39,"status":200,"url":"/devices/0dc0798d-d329-49fe-9ef0-9811c27a283c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cbd76510-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/a1c42583-a46b-4f4b-91cf-4ad898415e54? 200 17ms","method":"GET","requestID":"cbd76510-242b-11f0-a4ab-3996a0934271","responseTime":17,"status":200,"url":"/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a58bafec-e3fb-4014-a490-b94baa6dcffd"},"level":"info","message":"Setting up experiment","requestID":"6201432b00d82ca24ed3489260ef5931"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a58bafec-e3fb-4014-a490-b94baa6dcffd"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"6201432b00d82ca24ed3489260ef5931"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a58bafec-e3fb-4014-a490-b94baa6dcffd"},"level":"info","message":"Successfully locked booking for experiment","requestID":"6201432b00d82ca24ed3489260ef5931"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a58bafec-e3fb-4014-a490-b94baa6dcffd"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"6201432b00d82ca24ed3489260ef5931"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a58bafec-e3fb-4014-a490-b94baa6dcffd"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"6201432b00d82ca24ed3489260ef5931"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a58bafec-e3fb-4014-a490-b94baa6dcffd"},"level":"info","message":"Attempting to update booking for experiment","requestID":"6201432b00d82ca24ed3489260ef5931"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a58bafec-e3fb-4014-a490-b94baa6dcffd"},"level":"info","message":"Successfully updated booking for experiment","requestID":"6201432b00d82ca24ed3489260ef5931"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a58bafec-e3fb-4014-a490-b94baa6dcffd"},"level":"info","message":"Successfully set up experiment","requestID":"6201432b00d82ca24ed3489260ef5931"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cbe7dfd0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cbe806e0-242b-11f0-a4ab-3996a0934271"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a58bafec-e3fb-4014-a490-b94baa6dcffd"},"level":"info","message":"Successfully running experiment","requestID":"6201432b00d82ca24ed3489260ef5931"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cbe85500-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:57Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.755694,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:57Z"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dc0798d-d329-49fe-9ef0-9811c27a283c","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cbe7dfd0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/0dc0798d-d329-49fe-9ef0-9811c27a283c","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843096,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Nn0.zMPWGIWm6_M4EJTRz4ZiyR4xEtmgQcF908C2V9oIyIM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cbe7dfd0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.63476,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:57Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cbe806e0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843096,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Nn0.zMPWGIWm6_M4EJTRz4ZiyR4xEtmgQcF908C2V9oIyIM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cbe806e0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dc0798d-d329-49fe-9ef0-9811c27a283c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c46fc473-7290-4d94-8c19-bbf047620763","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843097.1749513} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dc0798d-d329-49fe-9ef0-9811c27a283c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dc0798d-d329-49fe-9ef0-9811c27a283c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:55.812736449Z"}]},"request_id":"2408343c-7902-4a1b-b5b3-913653122b84","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843097.1758058} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.645192,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dc0798d-d329-49fe-9ef0-9811c27a283c","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cbe85500-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0dc0798d-d329-49fe-9ef0-9811c27a283c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"cbe85500-242b-11f0-a4ab-3996a0934271","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"cbe7dfd0-242b-11f0-a4ab-3996a0934271","responseTime":28,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1c42583-a46b-4f4b-91cf-4ad898415e54","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1c42583-a46b-4f4b-91cf-4ad898415e54","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:55.905500080Z"}]},"request_id":"17975b03-d534-4208-9169-9c43a7d15d97","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843097.2010376} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"cbe806e0-242b-11f0-a4ab-3996a0934271","responseTime":28,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa58bafec-e3fb-4014-a490-b94baa6dcffd#owner@http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa58bafec-e3fb-4014-a490-b94baa6dcffd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"3e58e829-42e6-44d6-8830-fa7a33211010","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843097.207393} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cbe85500-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/0dc0798d-d329-49fe-9ef0-9811c27a283c/signaling 200 40ms","method":"POST","requestID":"cbe85500-242b-11f0-a4ab-3996a0934271","responseTime":40,"status":200,"url":"/devices/0dc0798d-d329-49fe-9ef0-9811c27a283c/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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"54e0526d-6586-4d7a-b543-d19f228ada84","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843097.2080383} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cbe7dfd0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/0dc0798d-d329-49fe-9ef0-9811c27a283c? 200 45ms","method":"GET","requestID":"cbe7dfd0-242b-11f0-a4ab-3996a0934271","responseTime":45,"status":200,"url":"/devices/0dc0798d-d329-49fe-9ef0-9811c27a283c?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"6201432b00d82ca24ed3489260ef5931","responseTime":39,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cbeee4b0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cbe806e0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/a1c42583-a46b-4f4b-91cf-4ad898415e54? 200 46ms","method":"GET","requestID":"cbe806e0-242b-11f0-a4ab-3996a0934271","responseTime":46,"status":200,"url":"/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54?"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:57Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cbef59e0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1c42583-a46b-4f4b-91cf-4ad898415e54","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8d83c22c-84cf-4c99-84c8-53a8aef2bdca","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843097.2149656} experiment-1 | {"data":{"experiment":"http://localhost/experiments/a58bafec-e3fb-4014-a490-b94baa6dcffd","user":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"6201432b00d82ca24ed3489260ef5931"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.366824,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:57Z"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:57Z"} gateway-1 | {"time_local":"28/Apr/2025:12:24:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.239","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6201432b00d82ca24ed3489260ef5931"} experiment-1 | {"level":"info","message":"POST /experiments? 201 235ms","method":"POST","requestID":"6201432b00d82ca24ed3489260ef5931","responseTime":235,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cbeee4b0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cbeee4b0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dc0798d-d329-49fe-9ef0-9811c27a283c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1bb38308-bd25-4e64-9ad4-9a83ba0dc708","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843097.218452} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.56692,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dc0798d-d329-49fe-9ef0-9811c27a283c","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cbef59e0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0dc0798d-d329-49fe-9ef0-9811c27a283c","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":"cbeee4b0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cbef59e0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5N30.BgvofEP7jbcnwJoZvyvo4axWYX93UvNpHE9YTsstWlc","level":"info","message":"auth send jwt","requestID":"ef86bfe27b6cc31533d0c9f669ba9ecd"} device-1 | {"level":"info","message":"POST /devices/a1c42583-a46b-4f4b-91cf-4ad898415e54/signaling 200 9ms","method":"POST","requestID":"cbeee4b0-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ef86bfe27b6cc31533d0c9f669ba9ecd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ef86bfe27b6cc31533d0c9f669ba9ecd"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cbef59e0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/0dc0798d-d329-49fe-9ef0-9811c27a283c/signaling 200 10ms","method":"POST","requestID":"cbef59e0-242b-11f0-a4ab-3996a0934271","responseTime":10,"status":200,"url":"/devices/0dc0798d-d329-49fe-9ef0-9811c27a283c/signaling"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:57Z"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.037686,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dc0798d-d329-49fe-9ef0-9811c27a283c","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ef86bfe27b6cc31533d0c9f669ba9ecd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/0dc0798d-d329-49fe-9ef0-9811c27a283c","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843097,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5N30.BgvofEP7jbcnwJoZvyvo4axWYX93UvNpHE9YTsstWlc"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"ef86bfe27b6cc31533d0c9f669ba9ecd","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cbf52640-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dc0798d-d329-49fe-9ef0-9811c27a283c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dc0798d-d329-49fe-9ef0-9811c27a283c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:55.812736449Z"}]},"request_id":"953c7d6a-5200-4ffb-bd02-645f37255a65","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843097.2545216} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ef86bfe27b6cc31533d0c9f669ba9ecd","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:57Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1c42583-a46b-4f4b-91cf-4ad898415e54","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aed471e4-bb66-4a98-b8f1-82a929d923fd","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843097.2563963} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.452865,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:57Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ef86bfe27b6cc31533d0c9f669ba9ecd"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cbf52640-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"28/Apr/2025:12:24:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0dc0798d-d329-49fe-9ef0-9811c27a283c? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ef86bfe27b6cc31533d0c9f669ba9ecd"} device-1 | {"level":"info","message":"GET /devices/0dc0798d-d329-49fe-9ef0-9811c27a283c? 200 36ms","method":"GET","requestID":"ef86bfe27b6cc31533d0c9f669ba9ecd","responseTime":36,"status":200,"url":"/devices/0dc0798d-d329-49fe-9ef0-9811c27a283c?"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cbf52640-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cbf52640-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/a1c42583-a46b-4f4b-91cf-4ad898415e54/signaling 200 8ms","method":"POST","requestID":"cbf52640-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5N30.BgvofEP7jbcnwJoZvyvo4axWYX93UvNpHE9YTsstWlc","level":"info","message":"auth send jwt","requestID":"bc39257f951d040e1c528e99a6b7cfc3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bc39257f951d040e1c528e99a6b7cfc3","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a58bafec-e3fb-4014-a490-b94baa6dcffd"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"6201432b00d82ca24ed3489260ef5931"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a58bafec-e3fb-4014-a490-b94baa6dcffd"},"level":"info","message":"Building connection plan","requestID":"6201432b00d82ca24ed3489260ef5931"} 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":"2411d6ff-b250-48f4-aed2-314d4c8930c5"},{"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":"e6fd988a-4659-40b6-b670-4927f655f637"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"2a14a6a7-b5d7-468e-9e4a-fc4d5d75537b"}]},"level":"info","message":"Built pairwise service configurations","requestID":"6201432b00d82ca24ed3489260ef5931"} 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/a1c42583-a46b-4f4b-91cf-4ad898415e54"},{"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/0dc0798d-d329-49fe-9ef0-9811c27a283c"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"6201432b00d82ca24ed3489260ef5931"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bc39257f951d040e1c528e99a6b7cfc3"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"cbf6d3f0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Received request.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:57Z"} authorization-1 | {"client_addr":"127.0.0.1:35866","level":"info","msg":"Sent response.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.69318,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:57Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bc39257f951d040e1c528e99a6b7cfc3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843097,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5N30.BgvofEP7jbcnwJoZvyvo4axWYX93UvNpHE9YTsstWlc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bc39257f951d040e1c528e99a6b7cfc3","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.726809,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cbf6d3f0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843096,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5Nn0.zMPWGIWm6_M4EJTRz4ZiyR4xEtmgQcF908C2V9oIyIM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cbf6d3f0-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1c42583-a46b-4f4b-91cf-4ad898415e54","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1c42583-a46b-4f4b-91cf-4ad898415e54","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:55.905500080Z"}]},"request_id":"4bfbfc1d-5028-475e-83b4-a41fe5c4f549","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843097.269334} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bc39257f951d040e1c528e99a6b7cfc3","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bc39257f951d040e1c528e99a6b7cfc3"} gateway-1 | {"time_local":"28/Apr/2025:12:24:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a1c42583-a46b-4f4b-91cf-4ad898415e54? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bc39257f951d040e1c528e99a6b7cfc3"} device-1 | {"level":"info","message":"GET /devices/a1c42583-a46b-4f4b-91cf-4ad898415e54? 200 36ms","method":"GET","requestID":"bc39257f951d040e1c528e99a6b7cfc3","responseTime":36,"status":200,"url":"/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54?"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","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%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"171b5fe4-e911-4574-8b7f-41f6ef9882a5","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843097.3001785} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a22526b5-e519-40ce-8387-88202872f15f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843097.3003771} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"cbf6d3f0-242b-11f0-a4ab-3996a0934271","responseTime":30,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"cbf6d3f0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"cbf6d3f0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/050083d6-b70d-4b5b-af60-e145773b2277'","requestID":"cbf6d3f0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/050083d6-b70d-4b5b-af60-e145773b2277'","requestID":"cbf6d3f0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"cbf6d3f0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 49ms","method":"POST","requestID":"cbf6d3f0-242b-11f0-a4ab-3996a0934271","responseTime":49,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"cbf6d3f0-242b-11f0-a4ab-3996a0934271"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a58bafec-e3fb-4014-a490-b94baa6dcffd"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"6201432b00d82ca24ed3489260ef5931"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cc068b60-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:57Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dc0798d-d329-49fe-9ef0-9811c27a283c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ba75fff2-9729-46be-bfd7-ae8dc82270b7","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843097.3710897} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.412028,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dc0798d-d329-49fe-9ef0-9811c27a283c","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cc068b60-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0dc0798d-d329-49fe-9ef0-9811c27a283c","object_type":"device","rebac_allow":false,"scope_allow":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":"cc068b60-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cc068b60-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/0dc0798d-d329-49fe-9ef0-9811c27a283c/signaling 200 30ms","method":"POST","requestID":"cc068b60-242b-11f0-a4ab-3996a0934271","responseTime":30,"status":200,"url":"/devices/0dc0798d-d329-49fe-9ef0-9811c27a283c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cc0b6d60-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:57Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1c42583-a46b-4f4b-91cf-4ad898415e54","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6e83cc44-5bcb-4f19-be12-172821813f6d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843097.4024034} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.191609,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cc0b6d60-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54","object_type":"device","rebac_allow":false,"scope_allow":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":"cc0b6d60-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cc0b6d60-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/a1c42583-a46b-4f4b-91cf-4ad898415e54/signaling 200 8ms","method":"POST","requestID":"cc0b6d60-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54/signaling"} device-1 | {"device":"0dc0798d-d329-49fe-9ef0-9811c27a283c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"050083d6-b70d-4b5b-af60-e145773b2277","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"a1c42583-a46b-4f4b-91cf-4ad898415e54","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"050083d6-b70d-4b5b-af60-e145773b2277","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"a1c42583-a46b-4f4b-91cf-4ad898415e54","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a1c42583-a46b-4f4b-91cf-4ad898415e54","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a1c42583-a46b-4f4b-91cf-4ad898415e54","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a1c42583-a46b-4f4b-91cf-4ad898415e54","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/050083d6-b70d-4b5b-af60-e145773b2277' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"050083d6-b70d-4b5b-af60-e145773b2277","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e8e775ce9b44d91bd9a91f1b01f8ee53","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e8e775ce9b44d91bd9a91f1b01f8ee53","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"0dc0798d-d329-49fe-9ef0-9811c27a283c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0dc0798d-d329-49fe-9ef0-9811c27a283c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0dc0798d-d329-49fe-9ef0-9811c27a283c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54"},{"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/0dc0798d-d329-49fe-9ef0-9811c27a283c"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/050083d6-b70d-4b5b-af60-e145773b2277"}}},"level":"info","message":"received a callback","requestID":"e8e775ce9b44d91bd9a91f1b01f8ee53"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"e8e775ce9b44d91bd9a91f1b01f8ee53","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"e8e775ce9b44d91bd9a91f1b01f8ee53"} device-1 | {"device":"a1c42583-a46b-4f4b-91cf-4ad898415e54","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0dc0798d-d329-49fe-9ef0-9811c27a283c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a1c42583-a46b-4f4b-91cf-4ad898415e54","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0dc0798d-d329-49fe-9ef0-9811c27a283c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"050083d6-b70d-4b5b-af60-e145773b2277","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"050083d6-b70d-4b5b-af60-e145773b2277","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/050083d6-b70d-4b5b-af60-e145773b2277' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"050083d6-b70d-4b5b-af60-e145773b2277","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"18ee6c76f772678e27e7b19619f29ef1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"18ee6c76f772678e27e7b19619f29ef1","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/a1c42583-a46b-4f4b-91cf-4ad898415e54"},{"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/0dc0798d-d329-49fe-9ef0-9811c27a283c"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/050083d6-b70d-4b5b-af60-e145773b2277"}}},"level":"info","message":"received a callback","requestID":"18ee6c76f772678e27e7b19619f29ef1"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"cd46ac80-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:59Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F050083d6-b70d-4b5b-af60-e145773b2277","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"53c5b9b2-15af-4371-adf4-682a1efeeb0e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843099.4690182} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.316693,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/050083d6-b70d-4b5b-af60-e145773b2277","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cd46ac80-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/050083d6-b70d-4b5b-af60-e145773b2277","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":"cd46ac80-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"cd46ac80-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /peerconnections/050083d6-b70d-4b5b-af60-e145773b2277 200 8ms","method":"GET","requestID":"cd46ac80-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/peerconnections/050083d6-b70d-4b5b-af60-e145773b2277"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 49ms","method":"POST","requestID":"18ee6c76f772678e27e7b19619f29ef1","responseTime":49,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch","requestID":"18ee6c76f772678e27e7b19619f29ef1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cd4db160-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:59Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1c42583-a46b-4f4b-91cf-4ad898415e54","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ef4764ea-77be-4913-a6d4-8f4000fc9269","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843099.5145633} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.564394,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cd4db160-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cd4db160-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cd4db160-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/a1c42583-a46b-4f4b-91cf-4ad898415e54/signaling 200 9ms","method":"POST","requestID":"cd4db160-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cd4f5f10-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:59Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5OX0.fBwdv_9Iyw12clBCNY0WxjWV5DAKcFAR0D2mqG6KSKQ","level":"info","message":"auth send jwt","requestID":"83615d37ee92aab733121e77241572bb"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"83615d37ee92aab733121e77241572bb","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dc0798d-d329-49fe-9ef0-9811c27a283c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dd334ecf-baf6-42ff-8aab-058d5f5c9241","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843099.525955} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a58bafec-e3fb-4014-a490-b94baa6dcffd","requestID":"83615d37ee92aab733121e77241572bb"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.475385,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dc0798d-d329-49fe-9ef0-9811c27a283c","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cd4f5f10-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0dc0798d-d329-49fe-9ef0-9811c27a283c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cd4f5f10-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:59Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":24.775633,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a58bafec-e3fb-4014-a490-b94baa6dcffd","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"83615d37ee92aab733121e77241572bb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/a58bafec-e3fb-4014-a490-b94baa6dcffd","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843099,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5OX0.fBwdv_9Iyw12clBCNY0WxjWV5DAKcFAR0D2mqG6KSKQ"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cd4f5f10-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"83615d37ee92aab733121e77241572bb","responseTime":26,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/0dc0798d-d329-49fe-9ef0-9811c27a283c/signaling 200 33ms","method":"POST","requestID":"cd4f5f10-242b-11f0-a4ab-3996a0934271","responseTime":33,"status":200,"url":"/devices/0dc0798d-d329-49fe-9ef0-9811c27a283c/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a58bafec-e3fb-4014-a490-b94baa6dcffd","requestID":"83615d37ee92aab733121e77241572bb"} experiment-1 | {"level":"info","message":"GET /experiments/a58bafec-e3fb-4014-a490-b94baa6dcffd 200 33ms","method":"GET","requestID":"83615d37ee92aab733121e77241572bb","responseTime":33,"status":200,"url":"/experiments/a58bafec-e3fb-4014-a490-b94baa6dcffd"} gateway-1 | {"time_local":"28/Apr/2025:12:24:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a58bafec-e3fb-4014-a490-b94baa6dcffd HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"83615d37ee92aab733121e77241572bb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5OX0.fBwdv_9Iyw12clBCNY0WxjWV5DAKcFAR0D2mqG6KSKQ","level":"info","message":"auth send jwt","requestID":"fa181186e43bfac8f72903bd83bb2ef9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fa181186e43bfac8f72903bd83bb2ef9","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a58bafec-e3fb-4014-a490-b94baa6dcffd","requestID":"fa181186e43bfac8f72903bd83bb2ef9"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:59Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.650001,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:59Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a58bafec-e3fb-4014-a490-b94baa6dcffd","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"fa181186e43bfac8f72903bd83bb2ef9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/a58bafec-e3fb-4014-a490-b94baa6dcffd","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843099,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5OX0.fBwdv_9Iyw12clBCNY0WxjWV5DAKcFAR0D2mqG6KSKQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fa181186e43bfac8f72903bd83bb2ef9","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a58bafec-e3fb-4014-a490-b94baa6dcffd"},"level":"info","message":"Attempting to finish experiment","requestID":"fa181186e43bfac8f72903bd83bb2ef9"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"cd570030-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:59Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.693018,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:59Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/050083d6-b70d-4b5b-af60-e145773b2277","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cd570030-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:http://localhost/peerconnections/050083d6-b70d-4b5b-af60-e145773b2277","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843099,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5OX0.fBwdv_9Iyw12clBCNY0WxjWV5DAKcFAR0D2mqG6KSKQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cd570030-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"device":"a1c42583-a46b-4f4b-91cf-4ad898415e54","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a1c42583-a46b-4f4b-91cf-4ad898415e54","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a1c42583-a46b-4f4b-91cf-4ad898415e54","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0dc0798d-d329-49fe-9ef0-9811c27a283c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0dc0798d-d329-49fe-9ef0-9811c27a283c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0dc0798d-d329-49fe-9ef0-9811c27a283c","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/050083d6-b70d-4b5b-af60-e145773b2277' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/050083d6-b70d-4b5b-af60-e145773b2277' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"050083d6-b70d-4b5b-af60-e145773b2277","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F050083d6-b70d-4b5b-af60-e145773b2277': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F050083d6-b70d-4b5b-af60-e145773b2277","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"f98c1d3a-25ef-4447-b038-45f5dde2cf48","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843099.6078663} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9e4283a476fd900aba7bcdc30244461e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a9b5b931-32f5-4685-b009-4e709d3d31c5","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843099.6080894} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9e4283a476fd900aba7bcdc30244461e","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a04ae07ad848d2269fc8f097e2e3026f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/a1c42583-a46b-4f4b-91cf-4ad898415e54"},{"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/0dc0798d-d329-49fe-9ef0-9811c27a283c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/050083d6-b70d-4b5b-af60-e145773b2277"}}},"level":"info","message":"received a callback","requestID":"9e4283a476fd900aba7bcdc30244461e"} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"cd570030-242b-11f0-a4ab-3996a0934271","responseTime":29,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"a04ae07ad848d2269fc8f097e2e3026f","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54"},{"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/0dc0798d-d329-49fe-9ef0-9811c27a283c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/050083d6-b70d-4b5b-af60-e145773b2277"}}},"level":"info","message":"received a callback","requestID":"a04ae07ad848d2269fc8f097e2e3026f"} device-1 | {"data":{"peerconnection":"050083d6-b70d-4b5b-af60-e145773b2277","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"cd570030-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"DELETE /peerconnections/050083d6-b70d-4b5b-af60-e145773b2277 204 52ms","method":"DELETE","requestID":"cd570030-242b-11f0-a4ab-3996a0934271","responseTime":52,"status":204,"url":"/peerconnections/050083d6-b70d-4b5b-af60-e145773b2277"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a58bafec-e3fb-4014-a490-b94baa6dcffd"},"level":"info","message":"Successfully finished experiment","requestID":"fa181186e43bfac8f72903bd83bb2ef9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cd653100-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:59Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa1c42583-a46b-4f4b-91cf-4ad898415e54","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6f999cb8-e822-4712-b14a-c9aee640156a","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843099.6684794} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.295801,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cd653100-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cd653100-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cd653100-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/a1c42583-a46b-4f4b-91cf-4ad898415e54/signaling 200 8ms","method":"POST","requestID":"cd653100-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cd6a6120-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa58bafec-e3fb-4014-a490-b94baa6dcffd': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa58bafec-e3fb-4014-a490-b94baa6dcffd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"ac0cca89-4527-448e-a17a-f765a23a7eda","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843099.6999319} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a14b8a23-744f-45d5-ad79-78251d4aaae6","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843099.7002742} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"fa181186e43bfac8f72903bd83bb2ef9","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:59Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dc0798d-d329-49fe-9ef0-9811c27a283c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"96c6be01-091b-414c-9864-1dd8627ffdae","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843099.7031238} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.429338,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dc0798d-d329-49fe-9ef0-9811c27a283c","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cd6a6120-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0dc0798d-d329-49fe-9ef0-9811c27a283c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cd6a6120-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cd6a6120-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/0dc0798d-d329-49fe-9ef0-9811c27a283c/signaling 200 9ms","method":"POST","requestID":"cd6a6120-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/0dc0798d-d329-49fe-9ef0-9811c27a283c/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a58bafec-e3fb-4014-a490-b94baa6dcffd","requestID":"fa181186e43bfac8f72903bd83bb2ef9"} gateway-1 | {"time_local":"28/Apr/2025:12:24:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a58bafec-e3fb-4014-a490-b94baa6dcffd HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.209","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fa181186e43bfac8f72903bd83bb2ef9"} gateway-1 | {"time_local":"28/Apr/2025:12:24:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2787","request_time":"2.853","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"444a0d716116f750d11fa78a1c0e5c03"} experiment-1 | {"level":"info","message":"DELETE /experiments/a58bafec-e3fb-4014-a490-b94baa6dcffd 204 208ms","method":"DELETE","requestID":"fa181186e43bfac8f72903bd83bb2ef9","responseTime":208,"status":204,"url":"/experiments/a58bafec-e3fb-4014-a490-b94baa6dcffd"} gateway-1 | {"time_local":"28/Apr/2025:12:24:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2789","request_time":"2.887","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"9b413b9dda7575bdf816188a509faf1e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 188ms","method":"POST","requestID":"9e4283a476fd900aba7bcdc30244461e","responseTime":188,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5OX0.fBwdv_9Iyw12clBCNY0WxjWV5DAKcFAR0D2mqG6KSKQ","level":"info","message":"auth send jwt","requestID":"8b3558243f735966d579bbde49a35660"} gateway-1 | {"time_local":"28/Apr/2025:12:24:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.190","http_referrer":"","http_user_agent":"node-fetch","requestID":"9e4283a476fd900aba7bcdc30244461e"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8b3558243f735966d579bbde49a35660","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 188ms","method":"POST","requestID":"a04ae07ad848d2269fc8f097e2e3026f","responseTime":188,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:24:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.191","http_referrer":"","http_user_agent":"node-fetch","requestID":"a04ae07ad848d2269fc8f097e2e3026f"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0dc0798d-d329-49fe-9ef0-9811c27a283c' closed"} device-1 | {"level":"info","message":"postDevices called","requestID":"8b3558243f735966d579bbde49a35660"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:59Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.824757,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"8b3558243f735966d579bbde49a35660","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843099,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5OX0.fBwdv_9Iyw12clBCNY0WxjWV5DAKcFAR0D2mqG6KSKQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8b3558243f735966d579bbde49a35660","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a1c42583-a46b-4f4b-91cf-4ad898415e54' 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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"47d2ee1b-6812-478c-8aa3-a2cdf8cd3309","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843099.8188684} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8b3558243f735966d579bbde49a35660","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3edd2cd1-2777-4e1a-8424-d8ec72ddf4ce","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843099.8476696} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"8b3558243f735966d579bbde49a35660","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"dff1a652-d2cb-451e-9829-67360e83c6bc","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843099.860329} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"706f0e96-aeb2-45ec-8e60-6476d06fa26e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843099.860482} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"8b3558243f735966d579bbde49a35660","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:59.860304814Z"}]},"request_id":"9a7b525c-90c4-4ac3-936a-be0ba65fa625","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843099.889659} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"8b3558243f735966d579bbde49a35660","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"8b3558243f735966d579bbde49a35660"} device-1 | {"level":"info","message":"POST /devices? 201 91ms","method":"POST","requestID":"8b3558243f735966d579bbde49a35660","responseTime":91,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:24:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.120","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8b3558243f735966d579bbde49a35660"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5OX0.fBwdv_9Iyw12clBCNY0WxjWV5DAKcFAR0D2mqG6KSKQ","level":"info","message":"auth send jwt","requestID":"a2af5936f60f0cde04b1e84fd242e02e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a2af5936f60f0cde04b1e84fd242e02e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a2af5936f60f0cde04b1e84fd242e02e"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:24:59Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.739222,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:24:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a2af5936f60f0cde04b1e84fd242e02e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843099,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzA5OX0.fBwdv_9Iyw12clBCNY0WxjWV5DAKcFAR0D2mqG6KSKQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a2af5936f60f0cde04b1e84fd242e02e","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff16ab2a6-1e11-4239-8bf4-474d25bd2ce1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"30da0762-6433-4575-99e2-2af068dc3c60","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843099.9376266} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"a2af5936f60f0cde04b1e84fd242e02e","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"997048e0-133f-4528-905b-0bea0eaa509e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843099.9424736} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"a2af5936f60f0cde04b1e84fd242e02e","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff16ab2a6-1e11-4239-8bf4-474d25bd2ce1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"4c9cc3a2-190b-417e-9cea-0eace8ebbb93","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843099.9516978} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"328c96ad-752d-4c5d-9791-8acbbaec7c98","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843099.951854} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"a2af5936f60f0cde04b1e84fd242e02e","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff16ab2a6-1e11-4239-8bf4-474d25bd2ce1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff16ab2a6-1e11-4239-8bf4-474d25bd2ce1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:59.951666855Z"}]},"request_id":"24654f76-a374-4e94-9ac5-29eaad65b883","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843099.9561734} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a2af5936f60f0cde04b1e84fd242e02e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a2af5936f60f0cde04b1e84fd242e02e"} gateway-1 | {"time_local":"28/Apr/2025:12:24:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a2af5936f60f0cde04b1e84fd242e02e"} device-1 | {"level":"info","message":"POST /devices? 201 61ms","method":"POST","requestID":"a2af5936f60f0cde04b1e84fd242e02e","responseTime":61,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"24c91909e07cf576f2404642afcbf08f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"24c91909e07cf576f2404642afcbf08f","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668/websocket 200 1ms","method":"OPTIONS","requestID":"24c91909e07cf576f2404642afcbf08f","responseTime":1,"status":200,"url":"/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:25:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668/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":"24c91909e07cf576f2404642afcbf08f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwMn0.FNJVzempeFBchosrzJqv7vb2ZrvheKl6tciOVSx2MSo","level":"info","message":"auth send jwt","requestID":"f78b458ed9f4cf35d64e449d23b8e2ba"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f78b458ed9f4cf35d64e449d23b8e2ba","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"f78b458ed9f4cf35d64e449d23b8e2ba"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.179314,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"f78b458ed9f4cf35d64e449d23b8e2ba","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843102,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwMn0.FNJVzempeFBchosrzJqv7vb2ZrvheKl6tciOVSx2MSo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f78b458ed9f4cf35d64e449d23b8e2ba","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"f78b458ed9f4cf35d64e449d23b8e2ba"} device-1 | {"level":"info","message":"POST /devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668/websocket 200 21ms","method":"POST","requestID":"f78b458ed9f4cf35d64e449d23b8e2ba","responseTime":21,"status":200,"url":"/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:25:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668/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":"f78b458ed9f4cf35d64e449d23b8e2ba"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0c1add8dfec448f6ed01e449d7609667","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0c1add8dfec448f6ed01e449d7609667","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:25:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.002","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0c1add8dfec448f6ed01e449d7609667"} device-1 | {"level":"info","message":"OPTIONS /devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1/websocket 200 0ms","method":"OPTIONS","requestID":"0c1add8dfec448f6ed01e449d7609667","responseTime":0,"status":200,"url":"/devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwMn0.FNJVzempeFBchosrzJqv7vb2ZrvheKl6tciOVSx2MSo","level":"info","message":"auth send jwt","requestID":"3301d7e2819c3aeb93ae9fd7864291d6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3301d7e2819c3aeb93ae9fd7864291d6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"3301d7e2819c3aeb93ae9fd7864291d6"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.739552,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"3301d7e2819c3aeb93ae9fd7864291d6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843102,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwMn0.FNJVzempeFBchosrzJqv7vb2ZrvheKl6tciOVSx2MSo"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"3301d7e2819c3aeb93ae9fd7864291d6","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"3301d7e2819c3aeb93ae9fd7864291d6"} gateway-1 | {"time_local":"28/Apr/2025:12:25:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.018","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3301d7e2819c3aeb93ae9fd7864291d6"} device-1 | {"level":"info","message":"POST /devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1/websocket 200 14ms","method":"POST","requestID":"3301d7e2819c3aeb93ae9fd7864291d6","responseTime":14,"status":200,"url":"/devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwMn0.FNJVzempeFBchosrzJqv7vb2ZrvheKl6tciOVSx2MSo","level":"info","message":"auth send jwt","requestID":"953ae7bd916f597f34e284e2efb5a2e2"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"953ae7bd916f597f34e284e2efb5a2e2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"953ae7bd916f597f34e284e2efb5a2e2"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.6782,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"953ae7bd916f597f34e284e2efb5a2e2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843102,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwMn0.FNJVzempeFBchosrzJqv7vb2ZrvheKl6tciOVSx2MSo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"953ae7bd916f597f34e284e2efb5a2e2","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:59.860304814Z"}]},"request_id":"8eda1ada-d85c-47b5-af92-f66534905aa2","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843102.2732675} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"953ae7bd916f597f34e284e2efb5a2e2","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"953ae7bd916f597f34e284e2efb5a2e2"} gateway-1 | {"time_local":"28/Apr/2025:12:25:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"953ae7bd916f597f34e284e2efb5a2e2"} device-1 | {"level":"info","message":"GET /devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668? 200 8ms","method":"GET","requestID":"953ae7bd916f597f34e284e2efb5a2e2","responseTime":9,"status":200,"url":"/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwMn0.FNJVzempeFBchosrzJqv7vb2ZrvheKl6tciOVSx2MSo","level":"info","message":"auth send jwt","requestID":"21236f4f539d30ed1e119b662610a9fd"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"21236f4f539d30ed1e119b662610a9fd","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"21236f4f539d30ed1e119b662610a9fd"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.701802,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"21236f4f539d30ed1e119b662610a9fd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843102,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwMn0.FNJVzempeFBchosrzJqv7vb2ZrvheKl6tciOVSx2MSo"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"21236f4f539d30ed1e119b662610a9fd","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff16ab2a6-1e11-4239-8bf4-474d25bd2ce1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff16ab2a6-1e11-4239-8bf4-474d25bd2ce1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:59.951666855Z"}]},"request_id":"47a1310b-99b3-4860-b558-6bc024736bf3","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843102.2851946} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"21236f4f539d30ed1e119b662610a9fd","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"21236f4f539d30ed1e119b662610a9fd"} device-1 | {"level":"info","message":"GET /devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1? 200 8ms","method":"GET","requestID":"21236f4f539d30ed1e119b662610a9fd","responseTime":8,"status":200,"url":"/devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1?"} gateway-1 | {"time_local":"28/Apr/2025:12:25:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"21236f4f539d30ed1e119b662610a9fd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwMn0.FNJVzempeFBchosrzJqv7vb2ZrvheKl6tciOVSx2MSo","level":"info","message":"auth send jwt","requestID":"a6ced0026947d802c0b1530dc6f4d7cb"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a6ced0026947d802c0b1530dc6f4d7cb","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"a6ced0026947d802c0b1530dc6f4d7cb"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.625549,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a6ced0026947d802c0b1530dc6f4d7cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843102,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwMn0.FNJVzempeFBchosrzJqv7vb2ZrvheKl6tciOVSx2MSo"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"a6ced0026947d802c0b1530dc6f4d7cb","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/56c746e5-960d-4b07-99c2-5dcd5444f6eb"},"level":"info","message":"Attempting to run experiment","requestID":"a6ced0026947d802c0b1530dc6f4d7cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/56c746e5-960d-4b07-99c2-5dcd5444f6eb"},"level":"info","message":"Attempting to book experiment","requestID":"a6ced0026947d802c0b1530dc6f4d7cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/56c746e5-960d-4b07-99c2-5dcd5444f6eb"},"level":"info","message":"Successfully booked experiment","requestID":"a6ced0026947d802c0b1530dc6f4d7cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cefd3620-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cefd5d30-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.749257,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cefd3620-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843102,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwMn0.FNJVzempeFBchosrzJqv7vb2ZrvheKl6tciOVSx2MSo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cefd3620-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.23621,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cefd5d30-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843102,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwMn0.FNJVzempeFBchosrzJqv7vb2ZrvheKl6tciOVSx2MSo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cefd5d30-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:59.860304814Z"}]},"request_id":"84b6457b-c95b-487a-a2ad-ae48efe72893","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843102.344983} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cefd3620-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff16ab2a6-1e11-4239-8bf4-474d25bd2ce1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff16ab2a6-1e11-4239-8bf4-474d25bd2ce1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:59.951666855Z"}]},"request_id":"97af0a83-d233-4cfd-aa7f-df0671e903f5","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843102.3482728} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cefd3620-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cefd5d30-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668? 200 11ms","method":"GET","requestID":"cefd3620-242b-11f0-a4ab-3996a0934271","responseTime":11,"status":200,"url":"/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cefd5d30-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1? 200 12ms","method":"GET","requestID":"cefd5d30-242b-11f0-a4ab-3996a0934271","responseTime":12,"status":200,"url":"/devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/56c746e5-960d-4b07-99c2-5dcd5444f6eb"},"level":"info","message":"Setting up experiment","requestID":"a6ced0026947d802c0b1530dc6f4d7cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/56c746e5-960d-4b07-99c2-5dcd5444f6eb"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"a6ced0026947d802c0b1530dc6f4d7cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/56c746e5-960d-4b07-99c2-5dcd5444f6eb"},"level":"info","message":"Successfully locked booking for experiment","requestID":"a6ced0026947d802c0b1530dc6f4d7cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/56c746e5-960d-4b07-99c2-5dcd5444f6eb"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"a6ced0026947d802c0b1530dc6f4d7cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/56c746e5-960d-4b07-99c2-5dcd5444f6eb"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"a6ced0026947d802c0b1530dc6f4d7cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/56c746e5-960d-4b07-99c2-5dcd5444f6eb"},"level":"info","message":"Attempting to update booking for experiment","requestID":"a6ced0026947d802c0b1530dc6f4d7cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/56c746e5-960d-4b07-99c2-5dcd5444f6eb"},"level":"info","message":"Successfully updated booking for experiment","requestID":"a6ced0026947d802c0b1530dc6f4d7cb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/56c746e5-960d-4b07-99c2-5dcd5444f6eb"},"level":"info","message":"Successfully set up experiment","requestID":"a6ced0026947d802c0b1530dc6f4d7cb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cf0c5150-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cf0c9f70-242b-11f0-a4ab-3996a0934271"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/56c746e5-960d-4b07-99c2-5dcd5444f6eb"},"level":"info","message":"Successfully running experiment","requestID":"a6ced0026947d802c0b1530dc6f4d7cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cf0ced90-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.986466,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cf0c5150-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843102,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwMn0.FNJVzempeFBchosrzJqv7vb2ZrvheKl6tciOVSx2MSo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cf0c5150-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.711265,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cf0c9f70-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843102,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwMn0.FNJVzempeFBchosrzJqv7vb2ZrvheKl6tciOVSx2MSo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cf0c9f70-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25: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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff16ab2a6-1e11-4239-8bf4-474d25bd2ce1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff16ab2a6-1e11-4239-8bf4-474d25bd2ce1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:59.951666855Z"}]},"request_id":"489b3d95-2623-41d8-a245-f7492c03af93","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843102.4474065} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6eb0a17a-f1a2-4c3a-93e9-85bd8a8ba283","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843102.4474695} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"cf0c9f70-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:59.860304814Z"}]},"request_id":"f02086eb-3d61-4605-853c-e630b1237f9c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843102.4483027} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.480035,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cf0ced90-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"cf0ced90-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cf0c5150-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F56c746e5-960d-4b07-99c2-5dcd5444f6eb#owner@http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F56c746e5-960d-4b07-99c2-5dcd5444f6eb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"0ed91d51-fd28-4061-ac36-509d5ac6b2d0","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843102.4530113} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aa14d1ff-021a-472e-951b-41c8dfe33f51","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843102.453204} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cf0ced90-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668/signaling 200 13ms","method":"POST","requestID":"cf0ced90-242b-11f0-a4ab-3996a0934271","responseTime":13,"status":200,"url":"/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cf0c9f70-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"a6ced0026947d802c0b1530dc6f4d7cb","responseTime":13,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1? 200 16ms","method":"GET","requestID":"cf0c9f70-242b-11f0-a4ab-3996a0934271","responseTime":16,"status":200,"url":"/devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cf0c5150-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668? 200 19ms","method":"GET","requestID":"cf0c5150-242b-11f0-a4ab-3996a0934271","responseTime":19,"status":200,"url":"/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cf0f5e90-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:02Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cf137d40-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff16ab2a6-1e11-4239-8bf4-474d25bd2ce1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"401a3577-af25-4ff9-9eaa-2e12fecfd106","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843102.4604428} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.405613,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cf0f5e90-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1","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/56c746e5-960d-4b07-99c2-5dcd5444f6eb","user":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"a6ced0026947d802c0b1530dc6f4d7cb"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"cf0f5e90-242b-11f0-a4ab-3996a0934271","responseTime":28,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"28/Apr/2025:12:25:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.199","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a6ced0026947d802c0b1530dc6f4d7cb"} experiment-1 | {"level":"info","message":"POST /experiments? 201 195ms","method":"POST","requestID":"a6ced0026947d802c0b1530dc6f4d7cb","responseTime":195,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:02Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cf0f5e90-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1/signaling 200 32ms","method":"POST","requestID":"cf0f5e90-242b-11f0-a4ab-3996a0934271","responseTime":32,"status":200,"url":"/devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1/signaling"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0ff40762-7101-447c-94b0-bf27f0c54e21","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843102.4898381} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.760259,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cf137d40-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwMn0.FNJVzempeFBchosrzJqv7vb2ZrvheKl6tciOVSx2MSo","level":"info","message":"auth send jwt","requestID":"9d6c22336580878cfdecb39a2e02d7c8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cf137d40-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9d6c22336580878cfdecb39a2e02d7c8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9d6c22336580878cfdecb39a2e02d7c8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cf137d40-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668/signaling 200 11ms","method":"POST","requestID":"cf137d40-242b-11f0-a4ab-3996a0934271","responseTime":11,"status":200,"url":"/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.810264,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9d6c22336580878cfdecb39a2e02d7c8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843102,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwMn0.FNJVzempeFBchosrzJqv7vb2ZrvheKl6tciOVSx2MSo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9d6c22336580878cfdecb39a2e02d7c8","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cf157910-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25: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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:59.860304814Z"}]},"request_id":"808f433d-d727-4545-b7c5-87c08581523e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843102.500713} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff16ab2a6-1e11-4239-8bf4-474d25bd2ce1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1eac1911-ec94-4a05-9c85-7b825394fd95","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843102.5008428} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9d6c22336580878cfdecb39a2e02d7c8","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.465407,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cf157910-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1","object_type":"device","rebac_allow":false,"scope_allow":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":"cf157910-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9d6c22336580878cfdecb39a2e02d7c8"} device-1 | {"level":"info","message":"GET /devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668? 200 11ms","method":"GET","requestID":"9d6c22336580878cfdecb39a2e02d7c8","responseTime":11,"status":200,"url":"/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cf157910-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1/signaling 200 8ms","method":"POST","requestID":"cf157910-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwMn0.FNJVzempeFBchosrzJqv7vb2ZrvheKl6tciOVSx2MSo","level":"info","message":"auth send jwt","requestID":"436de8f670e25fd9513f31900cac292e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/56c746e5-960d-4b07-99c2-5dcd5444f6eb"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"a6ced0026947d802c0b1530dc6f4d7cb"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"436de8f670e25fd9513f31900cac292e","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:25:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668? 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":"9d6c22336580878cfdecb39a2e02d7c8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/56c746e5-960d-4b07-99c2-5dcd5444f6eb"},"level":"info","message":"Building connection plan","requestID":"a6ced0026947d802c0b1530dc6f4d7cb"} 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":"b8ebe52c-b677-4080-aa7b-526ea43c52e0"},{"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":"0e39ebfc-1c65-4e1b-bde0-2a5c8e1cc703"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"9baba47c-c32d-42b7-85ee-a2b91d19973c"}]},"level":"info","message":"Built pairwise service configurations","requestID":"a6ced0026947d802c0b1530dc6f4d7cb"} 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/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668"},{"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/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"a6ced0026947d802c0b1530dc6f4d7cb"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"cf1aa930-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"436de8f670e25fd9513f31900cac292e"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.70982,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cf1aa930-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843102,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwMn0.FNJVzempeFBchosrzJqv7vb2ZrvheKl6tciOVSx2MSo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cf1aa930-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.616264,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"436de8f670e25fd9513f31900cac292e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843102,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwMn0.FNJVzempeFBchosrzJqv7vb2ZrvheKl6tciOVSx2MSo"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"436de8f670e25fd9513f31900cac292e","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff16ab2a6-1e11-4239-8bf4-474d25bd2ce1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff16ab2a6-1e11-4239-8bf4-474d25bd2ce1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:24:59.951666855Z"}]},"request_id":"a78c32d6-d779-4e67-9836-572be0658740","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843102.539822} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"436de8f670e25fd9513f31900cac292e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"436de8f670e25fd9513f31900cac292e"} gateway-1 | {"time_local":"28/Apr/2025:12:25:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"436de8f670e25fd9513f31900cac292e"} device-1 | {"level":"info","message":"GET /devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1? 200 10ms","method":"GET","requestID":"436de8f670e25fd9513f31900cac292e","responseTime":10,"status":200,"url":"/devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1?"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","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%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"d206fab1-9898-4d98-9a1a-b0038d33a6b9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843102.5432389} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b7587cc6-bf96-431a-aa10-53442c8b64cb","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843102.5434563} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"cf1aa930-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"cf1aa930-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"cf1aa930-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/c995ed70-a403-4fc0-9632-60afe754890c'","requestID":"cf1aa930-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c995ed70-a403-4fc0-9632-60afe754890c'","requestID":"cf1aa930-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"cf1aa930-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 21ms","method":"POST","requestID":"cf1aa930-242b-11f0-a4ab-3996a0934271","responseTime":21,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"cf1aa930-242b-11f0-a4ab-3996a0934271"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/c995ed70-a403-4fc0-9632-60afe754890c","device":"0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/c995ed70-a403-4fc0-9632-60afe754890c","device":"f16ab2a6-1e11-4239-8bf4-474d25bd2ce1","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/56c746e5-960d-4b07-99c2-5dcd5444f6eb"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"a6ced0026947d802c0b1530dc6f4d7cb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cf25a5b0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0aaeb7aa-0e4e-466c-908c-218ce8fe9b12","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843102.6272128} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.403133,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cf25a5b0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 24ms","method":"POST","requestID":"cf25a5b0-242b-11f0-a4ab-3996a0934271","responseTime":24,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cf25a5b0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668/signaling 200 28ms","method":"POST","requestID":"cf25a5b0-242b-11f0-a4ab-3996a0934271","responseTime":28,"status":200,"url":"/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cf2a1280-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff16ab2a6-1e11-4239-8bf4-474d25bd2ce1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"303ddf55-042a-4fb9-88b4-14940474317f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843102.6369214} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.832608,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cf2a1280-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cf2a1280-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cf2a1280-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1/signaling 200 9ms","method":"POST","requestID":"cf2a1280-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1/signaling"} device-1 | {"device":"f16ab2a6-1e11-4239-8bf4-474d25bd2ce1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"f16ab2a6-1e11-4239-8bf4-474d25bd2ce1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 6271121461385258567 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:1DGD\r\na=ice-pwd:jaVUFd9Y6zd/SpLw9GRTpfnG\r\na=ice-options:trickle\r\na=fingerprint:sha-256 BE:64:68:56:42:E8:D8:A8:04:DF:EF:5A:80:EA:05:2D:7F:A5:93:2B:AB:C0:47:60:58:7E:A9:D4:A2:FA:2D:48\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"f16ab2a6-1e11-4239-8bf4-474d25bd2ce1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 1051592933869214335 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:uMjC\r\na=ice-pwd:AyMbbshqRoDATO9At7V8JQZp\r\na=ice-options:trickle\r\na=fingerprint:sha-256 87:21:96:1D:19:ED:9D:61:73:31:F6:3E:70:0D:3A:7F:A3:B3:85:8F:05:BA:46:A2:F3:99:20:A4:48:44:76:18\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2582254323 1 udp 2113937151 59215ce1-8ff7-4bd0-b083-fff5a8b1e764.local 39646 typ host generation 0 ufrag uMjC network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","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/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668'"} device-1 | {"content":{"candidate":"candidate:2325548632 1 udp 2113937151 7f228012-9df5-4d18-9dc8-f9c10c08539f.local 45319 typ host generation 0 ufrag 1DGD network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"f16ab2a6-1e11-4239-8bf4-474d25bd2ce1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"f16ab2a6-1e11-4239-8bf4-474d25bd2ce1","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/c995ed70-a403-4fc0-9632-60afe754890c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c995ed70-a403-4fc0-9632-60afe754890c","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"f16ab2a6-1e11-4239-8bf4-474d25bd2ce1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b4e570d3df60be1b3370e056f3298344","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b4e570d3df60be1b3370e056f3298344","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668"},{"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/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c995ed70-a403-4fc0-9632-60afe754890c"}}},"level":"info","message":"received a callback","requestID":"b4e570d3df60be1b3370e056f3298344"} device-1 | {"device":"0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"f16ab2a6-1e11-4239-8bf4-474d25bd2ce1","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"b4e570d3df60be1b3370e056f3298344","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"b4e570d3df60be1b3370e056f3298344"} device-1 | {"device":"0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"c995ed70-a403-4fc0-9632-60afe754890c","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"c995ed70-a403-4fc0-9632-60afe754890c","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/c995ed70-a403-4fc0-9632-60afe754890c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c995ed70-a403-4fc0-9632-60afe754890c","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"59f58f75df40cb2fe6c7a61773ddf7fc","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"59f58f75df40cb2fe6c7a61773ddf7fc","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/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668"},{"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/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c995ed70-a403-4fc0-9632-60afe754890c"}}},"level":"info","message":"received a callback","requestID":"59f58f75df40cb2fe6c7a61773ddf7fc"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"cf40f5e0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc995ed70-a403-4fc0-9632-60afe754890c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"483761f7-671b-4680-8eb6-5b17290b9c4c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843102.7860403} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.334219,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c995ed70-a403-4fc0-9632-60afe754890c","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cf40f5e0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c995ed70-a403-4fc0-9632-60afe754890c","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":"cf40f5e0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"cf40f5e0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /peerconnections/c995ed70-a403-4fc0-9632-60afe754890c 200 7ms","method":"GET","requestID":"cf40f5e0-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/peerconnections/c995ed70-a403-4fc0-9632-60afe754890c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 49ms","method":"POST","requestID":"59f58f75df40cb2fe6c7a61773ddf7fc","responseTime":49,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch","requestID":"59f58f75df40cb2fe6c7a61773ddf7fc"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cf47fac0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"146806e3-f359-4e0b-8561-ffe885b04658","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843102.8327985} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.654647,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cf47fac0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cf47fac0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cf47fac0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668/signaling 200 8ms","method":"POST","requestID":"cf47fac0-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cf498160-242b-11f0-a4ab-3996a0934271"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwMn0.FNJVzempeFBchosrzJqv7vb2ZrvheKl6tciOVSx2MSo","level":"info","message":"auth send jwt","requestID":"4e46367da9673f897075e4a42c37566d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4e46367da9673f897075e4a42c37566d","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/56c746e5-960d-4b07-99c2-5dcd5444f6eb","requestID":"4e46367da9673f897075e4a42c37566d"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff16ab2a6-1e11-4239-8bf4-474d25bd2ce1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c32a0d57-79d2-4700-b61b-81cb4cf0b48b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843102.86732} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.276142,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.692004,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cf498160-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"cf498160-242b-11f0-a4ab-3996a0934271","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/56c746e5-960d-4b07-99c2-5dcd5444f6eb","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"4e46367da9673f897075e4a42c37566d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/56c746e5-960d-4b07-99c2-5dcd5444f6eb","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843102,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwMn0.FNJVzempeFBchosrzJqv7vb2ZrvheKl6tciOVSx2MSo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4e46367da9673f897075e4a42c37566d","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cf498160-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1/signaling 200 33ms","method":"POST","requestID":"cf498160-242b-11f0-a4ab-3996a0934271","responseTime":33,"status":200,"url":"/devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/56c746e5-960d-4b07-99c2-5dcd5444f6eb","requestID":"4e46367da9673f897075e4a42c37566d"} experiment-1 | {"level":"info","message":"GET /experiments/56c746e5-960d-4b07-99c2-5dcd5444f6eb 200 9ms","method":"GET","requestID":"4e46367da9673f897075e4a42c37566d","responseTime":9,"status":200,"url":"/experiments/56c746e5-960d-4b07-99c2-5dcd5444f6eb"} gateway-1 | {"time_local":"28/Apr/2025:12:25:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/56c746e5-960d-4b07-99c2-5dcd5444f6eb HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4e46367da9673f897075e4a42c37566d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwMn0.FNJVzempeFBchosrzJqv7vb2ZrvheKl6tciOVSx2MSo","level":"info","message":"auth send jwt","requestID":"30a3109e6b801c7c5572e7716fed66a3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"30a3109e6b801c7c5572e7716fed66a3","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/56c746e5-960d-4b07-99c2-5dcd5444f6eb","requestID":"30a3109e6b801c7c5572e7716fed66a3"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.689222,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/56c746e5-960d-4b07-99c2-5dcd5444f6eb","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"30a3109e6b801c7c5572e7716fed66a3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/56c746e5-960d-4b07-99c2-5dcd5444f6eb","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843102,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwMn0.FNJVzempeFBchosrzJqv7vb2ZrvheKl6tciOVSx2MSo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"30a3109e6b801c7c5572e7716fed66a3","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/56c746e5-960d-4b07-99c2-5dcd5444f6eb"},"level":"info","message":"Attempting to finish experiment","requestID":"30a3109e6b801c7c5572e7716fed66a3"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"cf50d460-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":24.944425,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c995ed70-a403-4fc0-9632-60afe754890c","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cf50d460-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:http://localhost/peerconnections/c995ed70-a403-4fc0-9632-60afe754890c","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843102,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwMn0.FNJVzempeFBchosrzJqv7vb2ZrvheKl6tciOVSx2MSo"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"cf50d460-242b-11f0-a4ab-3996a0934271","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/c995ed70-a403-4fc0-9632-60afe754890c","device":"0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/c995ed70-a403-4fc0-9632-60afe754890c","device":"f16ab2a6-1e11-4239-8bf4-474d25bd2ce1","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/c995ed70-a403-4fc0-9632-60afe754890c' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c995ed70-a403-4fc0-9632-60afe754890c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c995ed70-a403-4fc0-9632-60afe754890c","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc995ed70-a403-4fc0-9632-60afe754890c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc995ed70-a403-4fc0-9632-60afe754890c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"bc99ab0a-ee1e-4b40-8a9a-3ff89599d4d6","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843102.9241107} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5fe8da1b2db0dde0910149519cb089f9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ee10dae1-d618-4974-aa02-f1b2934cd031","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843102.9244893} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"cf50d460-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"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/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668"},{"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/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c995ed70-a403-4fc0-9632-60afe754890c"}}},"level":"info","message":"received a callback","requestID":"5fe8da1b2db0dde0910149519cb089f9"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5fe8da1b2db0dde0910149519cb089f9","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cc1b8321f288522d4a1a85de200f7e78","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"cc1b8321f288522d4a1a85de200f7e78","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668"},{"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/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c995ed70-a403-4fc0-9632-60afe754890c"}}},"level":"info","message":"received a callback","requestID":"cc1b8321f288522d4a1a85de200f7e78"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"cf50d460-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"DELETE /peerconnections/c995ed70-a403-4fc0-9632-60afe754890c 204 52ms","method":"DELETE","requestID":"cf50d460-242b-11f0-a4ab-3996a0934271","responseTime":52,"status":204,"url":"/peerconnections/c995ed70-a403-4fc0-9632-60afe754890c"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/56c746e5-960d-4b07-99c2-5dcd5444f6eb"},"level":"info","message":"Successfully finished experiment","requestID":"30a3109e6b801c7c5572e7716fed66a3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cf5df3c0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7d8d1d6a-da18-41cb-974c-921ecddea09c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843102.9763668} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.533999,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cf5df3c0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cf5df3c0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cf5df3c0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668/signaling 200 8ms","method":"POST","requestID":"cf5df3c0-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cf5f7a60-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F56c746e5-960d-4b07-99c2-5dcd5444f6eb': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F56c746e5-960d-4b07-99c2-5dcd5444f6eb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"74dba78d-6e15-4c8d-a891-75c64f9431e2","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843102.9843428} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1fd654ed-52a1-4810-bfc7-27d434c471d2","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843102.984486} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","method":"POST","requestID":"30a3109e6b801c7c5572e7716fed66a3","responseTime":42,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff16ab2a6-1e11-4239-8bf4-474d25bd2ce1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cf193782-8ca0-43c8-b0c6-caac7c7e1a1b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843103.0139208} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.496563,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"cf5f7a60-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"cf5f7a60-242b-11f0-a4ab-3996a0934271","responseTime":32,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cf5f7a60-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1/signaling 200 37ms","method":"POST","requestID":"cf5f7a60-242b-11f0-a4ab-3996a0934271","responseTime":37,"status":200,"url":"/devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/56c746e5-960d-4b07-99c2-5dcd5444f6eb","requestID":"30a3109e6b801c7c5572e7716fed66a3"} gateway-1 | {"time_local":"28/Apr/2025:12:25:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/56c746e5-960d-4b07-99c2-5dcd5444f6eb HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.236","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"30a3109e6b801c7c5572e7716fed66a3"} experiment-1 | {"level":"info","message":"DELETE /experiments/56c746e5-960d-4b07-99c2-5dcd5444f6eb 204 234ms","method":"DELETE","requestID":"30a3109e6b801c7c5572e7716fed66a3","responseTime":234,"status":204,"url":"/experiments/56c746e5-960d-4b07-99c2-5dcd5444f6eb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 188ms","method":"POST","requestID":"5fe8da1b2db0dde0910149519cb089f9","responseTime":188,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.191","http_referrer":"","http_user_agent":"node-fetch","requestID":"5fe8da1b2db0dde0910149519cb089f9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 188ms","method":"POST","requestID":"cc1b8321f288522d4a1a85de200f7e78","responseTime":188,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.191","http_referrer":"","http_user_agent":"node-fetch","requestID":"cc1b8321f288522d4a1a85de200f7e78"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwM30.bHPKoEd7fvsz5WsehnVALwv7Iidmizjl60Pwm8b8I0M","level":"info","message":"auth send jwt","requestID":"07fd4c84f44f7b8ace3b7b674f09583f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"07fd4c84f44f7b8ace3b7b674f09583f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"07fd4c84f44f7b8ace3b7b674f09583f"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:03Z"} gateway-1 | {"time_local":"28/Apr/2025:12:25:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2540","request_time":"0.871","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e9283d1534c6e9df1e58d6e7f714f3f4"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.866631,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"07fd4c84f44f7b8ace3b7b674f09583f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843103,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwM30.bHPKoEd7fvsz5WsehnVALwv7Iidmizjl60Pwm8b8I0M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"07fd4c84f44f7b8ace3b7b674f09583f","responseTime":3,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"28/Apr/2025:12:25:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2542","request_time":"0.902","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7ade5e7bbbb4c4079d07ff239168f19a"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f16ab2a6-1e11-4239-8bf4-474d25bd2ce1' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0e2fbfd9-3163-43fd-8fa2-fc28f0a2d668' 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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0705751-7cc0-4a11-8bea-0881efccad81","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"07856d25-1943-4dcc-b6a2-33d689c9b46f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843103.1673677} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"07fd4c84f44f7b8ace3b7b674f09583f","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9a27b66e-fcf2-478c-91d0-99b3da7cbf75","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843103.170778} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"07fd4c84f44f7b8ace3b7b674f09583f","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0705751-7cc0-4a11-8bea-0881efccad81","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"d597472f-70c6-484d-8db4-73718760d0bc","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843103.1802073} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d7a3ac68-81f1-433e-9621-1cf19255b705","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843103.180264} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"07fd4c84f44f7b8ace3b7b674f09583f","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0705751-7cc0-4a11-8bea-0881efccad81","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0705751-7cc0-4a11-8bea-0881efccad81","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:03.180177409Z"}]},"request_id":"aa0ccc0e-978e-48e5-9fb6-fd7717f267d5","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843103.1836753} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"07fd4c84f44f7b8ace3b7b674f09583f","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"07fd4c84f44f7b8ace3b7b674f09583f"} device-1 | {"level":"info","message":"POST /devices? 201 67ms","method":"POST","requestID":"07fd4c84f44f7b8ace3b7b674f09583f","responseTime":67,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:25:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.072","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"07fd4c84f44f7b8ace3b7b674f09583f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwM30.bHPKoEd7fvsz5WsehnVALwv7Iidmizjl60Pwm8b8I0M","level":"info","message":"auth send jwt","requestID":"5051b65bc7dc039a47740cfdcd91ed02"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5051b65bc7dc039a47740cfdcd91ed02","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"5051b65bc7dc039a47740cfdcd91ed02"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:03Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.28928,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"5051b65bc7dc039a47740cfdcd91ed02","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843103,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwM30.bHPKoEd7fvsz5WsehnVALwv7Iidmizjl60Pwm8b8I0M"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5051b65bc7dc039a47740cfdcd91ed02","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd28c54a3-2724-4f43-bd5c-d82a3f68f36a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a52a65fc-c018-459f-a726-4297f6f7ddf3","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843103.2058427} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"5051b65bc7dc039a47740cfdcd91ed02","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b16d00a8-4325-4fd1-bbcc-e75445d76ceb","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843103.2097254} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"5051b65bc7dc039a47740cfdcd91ed02","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd28c54a3-2724-4f43-bd5c-d82a3f68f36a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"26a349bd-2183-4965-b244-8cb9b3287423","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843103.2185526} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bf751853-ed15-498a-b4f6-72db80ef6c7d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843103.2187884} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"5051b65bc7dc039a47740cfdcd91ed02","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd28c54a3-2724-4f43-bd5c-d82a3f68f36a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd28c54a3-2724-4f43-bd5c-d82a3f68f36a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:03.218522374Z"}]},"request_id":"c79bbbd5-05a1-48ec-aa07-b0a844c9ee60","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843103.2222624} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5051b65bc7dc039a47740cfdcd91ed02","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"5051b65bc7dc039a47740cfdcd91ed02"} gateway-1 | {"time_local":"28/Apr/2025:12:25:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5051b65bc7dc039a47740cfdcd91ed02"} device-1 | {"level":"info","message":"POST /devices? 201 35ms","method":"POST","requestID":"5051b65bc7dc039a47740cfdcd91ed02","responseTime":35,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0a9a39d06d9f72e9717c8142b5686a48","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"0a9a39d06d9f72e9717c8142b5686a48","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:25:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a0705751-7cc0-4a11-8bea-0881efccad81/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":"0a9a39d06d9f72e9717c8142b5686a48"} device-1 | {"level":"info","message":"OPTIONS /devices/a0705751-7cc0-4a11-8bea-0881efccad81/websocket 200 1ms","method":"OPTIONS","requestID":"0a9a39d06d9f72e9717c8142b5686a48","responseTime":1,"status":200,"url":"/devices/a0705751-7cc0-4a11-8bea-0881efccad81/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0564700304eea228947ce87e67909ec7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0564700304eea228947ce87e67909ec7","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:25:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a/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":"0564700304eea228947ce87e67909ec7"} device-1 | {"level":"info","message":"OPTIONS /devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a/websocket 200 1ms","method":"OPTIONS","requestID":"0564700304eea228947ce87e67909ec7","responseTime":1,"status":200,"url":"/devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwNX0.-V8QZ7z_mDXJSjAduXz_CVZd3_2murH7F6mEQY-FAyY","level":"info","message":"auth send jwt","requestID":"5e64ade2f47ae9282e3c44cd5b3a5887"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5e64ade2f47ae9282e3c44cd5b3a5887","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"5e64ade2f47ae9282e3c44cd5b3a5887"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwNX0.-V8QZ7z_mDXJSjAduXz_CVZd3_2murH7F6mEQY-FAyY","level":"info","message":"auth send jwt","requestID":"507b0dedb5c1d21843f983274aa6b753"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:05Z"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"507b0dedb5c1d21843f983274aa6b753","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.260768,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:05Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"507b0dedb5c1d21843f983274aa6b753"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0705751-7cc0-4a11-8bea-0881efccad81","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"5e64ade2f47ae9282e3c44cd5b3a5887","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/a0705751-7cc0-4a11-8bea-0881efccad81","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843105,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwNX0.-V8QZ7z_mDXJSjAduXz_CVZd3_2murH7F6mEQY-FAyY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5e64ade2f47ae9282e3c44cd5b3a5887","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.211248,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:05Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"507b0dedb5c1d21843f983274aa6b753","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843105,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwNX0.-V8QZ7z_mDXJSjAduXz_CVZd3_2murH7F6mEQY-FAyY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"507b0dedb5c1d21843f983274aa6b753","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"5e64ade2f47ae9282e3c44cd5b3a5887"} device-1 | {"level":"info","message":"POST /devices/a0705751-7cc0-4a11-8bea-0881efccad81/websocket 200 22ms","method":"POST","requestID":"5e64ade2f47ae9282e3c44cd5b3a5887","responseTime":22,"status":200,"url":"/devices/a0705751-7cc0-4a11-8bea-0881efccad81/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:25:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a0705751-7cc0-4a11-8bea-0881efccad81/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":"5e64ade2f47ae9282e3c44cd5b3a5887"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"507b0dedb5c1d21843f983274aa6b753"} device-1 | {"level":"info","message":"POST /devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a/websocket 200 28ms","method":"POST","requestID":"507b0dedb5c1d21843f983274aa6b753","responseTime":28,"status":200,"url":"/devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:25:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.033","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"507b0dedb5c1d21843f983274aa6b753"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a0705751-7cc0-4a11-8bea-0881efccad81' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwNX0.-V8QZ7z_mDXJSjAduXz_CVZd3_2murH7F6mEQY-FAyY","level":"info","message":"auth send jwt","requestID":"a8bcd81f3b14b5f933b35b1a3c6a8e3f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a8bcd81f3b14b5f933b35b1a3c6a8e3f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a8bcd81f3b14b5f933b35b1a3c6a8e3f"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.669188,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0705751-7cc0-4a11-8bea-0881efccad81","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a8bcd81f3b14b5f933b35b1a3c6a8e3f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/a0705751-7cc0-4a11-8bea-0881efccad81","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843105,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwNX0.-V8QZ7z_mDXJSjAduXz_CVZd3_2murH7F6mEQY-FAyY"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"a8bcd81f3b14b5f933b35b1a3c6a8e3f","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0705751-7cc0-4a11-8bea-0881efccad81","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0705751-7cc0-4a11-8bea-0881efccad81","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:03.180177409Z"}]},"request_id":"6a19a31a-f047-43e7-a48c-f418382a2d70","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843105.5168495} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a8bcd81f3b14b5f933b35b1a3c6a8e3f","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a8bcd81f3b14b5f933b35b1a3c6a8e3f"} device-1 | {"level":"info","message":"GET /devices/a0705751-7cc0-4a11-8bea-0881efccad81? 200 13ms","method":"GET","requestID":"a8bcd81f3b14b5f933b35b1a3c6a8e3f","responseTime":13,"status":200,"url":"/devices/a0705751-7cc0-4a11-8bea-0881efccad81?"} gateway-1 | {"time_local":"28/Apr/2025:12:25:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a0705751-7cc0-4a11-8bea-0881efccad81? 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":"a8bcd81f3b14b5f933b35b1a3c6a8e3f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwNX0.-V8QZ7z_mDXJSjAduXz_CVZd3_2murH7F6mEQY-FAyY","level":"info","message":"auth send jwt","requestID":"0a8fe713794a9a7a236f1d80a445a841"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0a8fe713794a9a7a236f1d80a445a841","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0a8fe713794a9a7a236f1d80a445a841"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.663112,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"0a8fe713794a9a7a236f1d80a445a841","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843105,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwNX0.-V8QZ7z_mDXJSjAduXz_CVZd3_2murH7F6mEQY-FAyY"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"0a8fe713794a9a7a236f1d80a445a841","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd28c54a3-2724-4f43-bd5c-d82a3f68f36a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd28c54a3-2724-4f43-bd5c-d82a3f68f36a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:03.218522374Z"}]},"request_id":"254f6244-94f9-476b-b07f-18a66b578058","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843105.5347793} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0a8fe713794a9a7a236f1d80a445a841","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0a8fe713794a9a7a236f1d80a445a841"} gateway-1 | {"time_local":"28/Apr/2025:12:25:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0a8fe713794a9a7a236f1d80a445a841"} device-1 | {"level":"info","message":"GET /devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a? 200 9ms","method":"GET","requestID":"0a8fe713794a9a7a236f1d80a445a841","responseTime":9,"status":200,"url":"/devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwNX0.-V8QZ7z_mDXJSjAduXz_CVZd3_2murH7F6mEQY-FAyY","level":"info","message":"auth send jwt","requestID":"1cdb751739116837ac9f7dd3e529d809"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1cdb751739116837ac9f7dd3e529d809","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"1cdb751739116837ac9f7dd3e529d809"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.685512,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"1cdb751739116837ac9f7dd3e529d809","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843105,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwNX0.-V8QZ7z_mDXJSjAduXz_CVZd3_2murH7F6mEQY-FAyY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1cdb751739116837ac9f7dd3e529d809","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a105cbe-9d12-4343-a98c-2d39cb5ce610"},"level":"info","message":"Attempting to run experiment","requestID":"1cdb751739116837ac9f7dd3e529d809"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a105cbe-9d12-4343-a98c-2d39cb5ce610"},"level":"info","message":"Attempting to book experiment","requestID":"1cdb751739116837ac9f7dd3e529d809"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a105cbe-9d12-4343-a98c-2d39cb5ce610"},"level":"info","message":"Successfully booked experiment","requestID":"1cdb751739116837ac9f7dd3e529d809"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d0ef9040-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d0efb750-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.917895,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:05Z"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0705751-7cc0-4a11-8bea-0881efccad81","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d0ef9040-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/a0705751-7cc0-4a11-8bea-0881efccad81","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843105,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwNX0.-V8QZ7z_mDXJSjAduXz_CVZd3_2murH7F6mEQY-FAyY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d0ef9040-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.695225,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d0efb750-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843105,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwNX0.-V8QZ7z_mDXJSjAduXz_CVZd3_2murH7F6mEQY-FAyY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d0efb750-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0705751-7cc0-4a11-8bea-0881efccad81","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0705751-7cc0-4a11-8bea-0881efccad81","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:03.180177409Z"}]},"request_id":"fbf5c026-7725-4ee7-91f8-0abcfb0d82aa","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843105.6142044} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d0ef9040-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd28c54a3-2724-4f43-bd5c-d82a3f68f36a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd28c54a3-2724-4f43-bd5c-d82a3f68f36a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:03.218522374Z"}]},"request_id":"b465aa6c-babd-412e-a951-d3558cc7df6e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843105.6150594} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d0efb750-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d0ef9040-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/a0705751-7cc0-4a11-8bea-0881efccad81? 200 16ms","method":"GET","requestID":"d0ef9040-242b-11f0-a4ab-3996a0934271","responseTime":16,"status":200,"url":"/devices/a0705751-7cc0-4a11-8bea-0881efccad81?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d0efb750-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a? 200 15ms","method":"GET","requestID":"d0efb750-242b-11f0-a4ab-3996a0934271","responseTime":15,"status":200,"url":"/devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a105cbe-9d12-4343-a98c-2d39cb5ce610"},"level":"info","message":"Setting up experiment","requestID":"1cdb751739116837ac9f7dd3e529d809"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a105cbe-9d12-4343-a98c-2d39cb5ce610"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"1cdb751739116837ac9f7dd3e529d809"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a105cbe-9d12-4343-a98c-2d39cb5ce610"},"level":"info","message":"Successfully locked booking for experiment","requestID":"1cdb751739116837ac9f7dd3e529d809"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a105cbe-9d12-4343-a98c-2d39cb5ce610"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"1cdb751739116837ac9f7dd3e529d809"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a105cbe-9d12-4343-a98c-2d39cb5ce610"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"1cdb751739116837ac9f7dd3e529d809"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a105cbe-9d12-4343-a98c-2d39cb5ce610"},"level":"info","message":"Attempting to update booking for experiment","requestID":"1cdb751739116837ac9f7dd3e529d809"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a105cbe-9d12-4343-a98c-2d39cb5ce610"},"level":"info","message":"Successfully updated booking for experiment","requestID":"1cdb751739116837ac9f7dd3e529d809"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a105cbe-9d12-4343-a98c-2d39cb5ce610"},"level":"info","message":"Successfully set up experiment","requestID":"1cdb751739116837ac9f7dd3e529d809"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d0fef990-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d0ff20a0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d0ff47b0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:05Z"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.60817,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:05Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a105cbe-9d12-4343-a98c-2d39cb5ce610"},"level":"info","message":"Successfully running experiment","requestID":"1cdb751739116837ac9f7dd3e529d809"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0705751-7cc0-4a11-8bea-0881efccad81","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d0fef990-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/a0705751-7cc0-4a11-8bea-0881efccad81","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843105,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwNX0.-V8QZ7z_mDXJSjAduXz_CVZd3_2murH7F6mEQY-FAyY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d0fef990-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.721066,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d0ff20a0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843105,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwNX0.-V8QZ7z_mDXJSjAduXz_CVZd3_2murH7F6mEQY-FAyY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d0ff20a0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:05Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0705751-7cc0-4a11-8bea-0881efccad81","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a508b01e-b19a-44bd-8f57-dce5cca2467f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843105.712477} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd28c54a3-2724-4f43-bd5c-d82a3f68f36a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd28c54a3-2724-4f43-bd5c-d82a3f68f36a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:03.218522374Z"}]},"request_id":"c9d855f5-47c4-45c9-b93a-6b88fa95d143","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843105.7140472} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.426148,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0705751-7cc0-4a11-8bea-0881efccad81","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d0ff47b0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a0705751-7cc0-4a11-8bea-0881efccad81","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d0ff47b0-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d0ff20a0-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0705751-7cc0-4a11-8bea-0881efccad81","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0705751-7cc0-4a11-8bea-0881efccad81","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:03.180177409Z"}]},"request_id":"7b26fa7b-d25a-4336-b303-70cb3db99c96","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843105.7150471} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d0fef990-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d0ff20a0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a? 200 14ms","method":"GET","requestID":"d0ff20a0-242b-11f0-a4ab-3996a0934271","responseTime":14,"status":200,"url":"/devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d0ff47b0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/a0705751-7cc0-4a11-8bea-0881efccad81/signaling 200 38ms","method":"POST","requestID":"d0ff47b0-242b-11f0-a4ab-3996a0934271","responseTime":38,"status":200,"url":"/devices/a0705751-7cc0-4a11-8bea-0881efccad81/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d0fef990-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/a0705751-7cc0-4a11-8bea-0881efccad81? 200 42ms","method":"GET","requestID":"d0fef990-242b-11f0-a4ab-3996a0934271","responseTime":42,"status":200,"url":"/devices/a0705751-7cc0-4a11-8bea-0881efccad81?"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0a105cbe-9d12-4343-a98c-2d39cb5ce610#owner@http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0a105cbe-9d12-4343-a98c-2d39cb5ce610","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"c4d13148-358d-4299-9ca2-29c2fb97321f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843105.7473598} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d1058940-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3015f005-58a6-4049-bce7-6d66083d87f8","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843105.7481668} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"1cdb751739116837ac9f7dd3e529d809","responseTime":38,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d105d760-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:05Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd28c54a3-2724-4f43-bd5c-d82a3f68f36a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b809d0cf-af73-43bf-b68f-028febd8b8d4","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843105.7530499} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.846424,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d1058940-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d1058940-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0705751-7cc0-4a11-8bea-0881efccad81","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9205daea-a24b-44a8-a63e-ce0a14651fe3","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843105.7543497} experiment-1 | {"data":{"experiment":"http://localhost/experiments/0a105cbe-9d12-4343-a98c-2d39cb5ce610","user":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"1cdb751739116837ac9f7dd3e529d809"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.195333,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:05Z"} experiment-1 | {"level":"info","message":"POST /experiments? 201 214ms","method":"POST","requestID":"1cdb751739116837ac9f7dd3e529d809","responseTime":214,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"28/Apr/2025:12:25:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.218","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1cdb751739116837ac9f7dd3e529d809"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0705751-7cc0-4a11-8bea-0881efccad81","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d105d760-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a0705751-7cc0-4a11-8bea-0881efccad81","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d105d760-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d1058940-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a/signaling 200 12ms","method":"POST","requestID":"d1058940-242b-11f0-a4ab-3996a0934271","responseTime":12,"status":200,"url":"/devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d105d760-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/a0705751-7cc0-4a11-8bea-0881efccad81/signaling 200 12ms","method":"POST","requestID":"d105d760-242b-11f0-a4ab-3996a0934271","responseTime":12,"status":200,"url":"/devices/a0705751-7cc0-4a11-8bea-0881efccad81/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwNX0.-V8QZ7z_mDXJSjAduXz_CVZd3_2murH7F6mEQY-FAyY","level":"info","message":"auth send jwt","requestID":"9d6cfb404d09ab4241634f3e9753fca8"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9d6cfb404d09ab4241634f3e9753fca8","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9d6cfb404d09ab4241634f3e9753fca8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d107fa40-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.651636,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:05Z"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0705751-7cc0-4a11-8bea-0881efccad81","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9d6cfb404d09ab4241634f3e9753fca8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/a0705751-7cc0-4a11-8bea-0881efccad81","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843105,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwNX0.-V8QZ7z_mDXJSjAduXz_CVZd3_2murH7F6mEQY-FAyY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9d6cfb404d09ab4241634f3e9753fca8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd28c54a3-2724-4f43-bd5c-d82a3f68f36a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9ce7b0a4-3b14-4974-ac78-e8eadc074482","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843105.7685456} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.216183,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d107fa40-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"d107fa40-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0705751-7cc0-4a11-8bea-0881efccad81","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0705751-7cc0-4a11-8bea-0881efccad81","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:03.180177409Z"}]},"request_id":"48be0243-2955-4d9d-b090-200d482c3163","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843105.7952578} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"9d6cfb404d09ab4241634f3e9753fca8","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d107fa40-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a/signaling 200 37ms","method":"POST","requestID":"d107fa40-242b-11f0-a4ab-3996a0934271","responseTime":37,"status":200,"url":"/devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9d6cfb404d09ab4241634f3e9753fca8"} gateway-1 | {"time_local":"28/Apr/2025:12:25:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a0705751-7cc0-4a11-8bea-0881efccad81? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9d6cfb404d09ab4241634f3e9753fca8"} device-1 | {"level":"info","message":"GET /devices/a0705751-7cc0-4a11-8bea-0881efccad81? 200 40ms","method":"GET","requestID":"9d6cfb404d09ab4241634f3e9753fca8","responseTime":40,"status":200,"url":"/devices/a0705751-7cc0-4a11-8bea-0881efccad81?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a105cbe-9d12-4343-a98c-2d39cb5ce610"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"1cdb751739116837ac9f7dd3e529d809"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a105cbe-9d12-4343-a98c-2d39cb5ce610"},"level":"info","message":"Building connection plan","requestID":"1cdb751739116837ac9f7dd3e529d809"} 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":"4597c9f5-deb6-4b83-9ef5-270c6c34d69b"},{"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":"d9bfd45d-970a-4137-99a3-261b340aae57"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"ec0aafab-2ace-4edf-ae42-2b68a5f37115"}]},"level":"info","message":"Built pairwise service configurations","requestID":"1cdb751739116837ac9f7dd3e529d809"} 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/d28c54a3-2724-4f43-bd5c-d82a3f68f36a"},{"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/a0705751-7cc0-4a11-8bea-0881efccad81"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"1cdb751739116837ac9f7dd3e529d809"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"d10e3bd0-242b-11f0-a4ab-3996a0934271"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwNX0.-V8QZ7z_mDXJSjAduXz_CVZd3_2murH7F6mEQY-FAyY","level":"info","message":"auth send jwt","requestID":"27e0cfe0235e81f4bcc8c4a646f354dd"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"27e0cfe0235e81f4bcc8c4a646f354dd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"27e0cfe0235e81f4bcc8c4a646f354dd"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:05Z"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.940945,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d10e3bd0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843105,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwNX0.-V8QZ7z_mDXJSjAduXz_CVZd3_2murH7F6mEQY-FAyY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d10e3bd0-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.795797,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"27e0cfe0235e81f4bcc8c4a646f354dd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843105,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwNX0.-V8QZ7z_mDXJSjAduXz_CVZd3_2murH7F6mEQY-FAyY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"27e0cfe0235e81f4bcc8c4a646f354dd","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd28c54a3-2724-4f43-bd5c-d82a3f68f36a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd28c54a3-2724-4f43-bd5c-d82a3f68f36a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:03.218522374Z"}]},"request_id":"f6bc283f-36c4-406a-8bd8-377aa2c99247","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843105.842587} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"27e0cfe0235e81f4bcc8c4a646f354dd","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"27e0cfe0235e81f4bcc8c4a646f354dd"} gateway-1 | {"time_local":"28/Apr/2025:12:25:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"27e0cfe0235e81f4bcc8c4a646f354dd"} device-1 | {"level":"info","message":"GET /devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a? 200 39ms","method":"GET","requestID":"27e0cfe0235e81f4bcc8c4a646f354dd","responseTime":39,"status":200,"url":"/devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a?"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","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%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"75d92e9f-9c00-4dea-8bc6-8fbe7b180ef3","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843105.8475451} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"af396e06-0b1a-4b88-83fa-367ff6a726b3","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843105.8477707} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"d10e3bd0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"d10e3bd0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"d10e3bd0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/c4f2db16-7b77-4f24-8133-91322be89a2e'","requestID":"d10e3bd0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c4f2db16-7b77-4f24-8133-91322be89a2e'","requestID":"d10e3bd0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"d10e3bd0-242b-11f0-a4ab-3996a0934271"} 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":"d10e3bd0-242b-11f0-a4ab-3996a0934271","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":"d10e3bd0-242b-11f0-a4ab-3996a0934271"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/c4f2db16-7b77-4f24-8133-91322be89a2e","device":"d28c54a3-2724-4f43-bd5c-d82a3f68f36a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/c4f2db16-7b77-4f24-8133-91322be89a2e","device":"a0705751-7cc0-4a11-8bea-0881efccad81","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/0a105cbe-9d12-4343-a98c-2d39cb5ce610"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"1cdb751739116837ac9f7dd3e529d809"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d11e6870-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:05Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0705751-7cc0-4a11-8bea-0881efccad81","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d65ee029-b405-4cc2-8efd-a7d17f5c3eb4","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843105.9157066} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.537424,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0705751-7cc0-4a11-8bea-0881efccad81","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d11e6870-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a0705751-7cc0-4a11-8bea-0881efccad81","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d11e6870-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:05Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd28c54a3-2724-4f43-bd5c-d82a3f68f36a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a33720f3-5340-44a6-9b39-929487d7fb32","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843105.9254086} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.143931,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d11fef10-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a","object_type":"device","rebac_allow":false,"scope_allow":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":"d11fef10-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d11e6870-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/a0705751-7cc0-4a11-8bea-0881efccad81/signaling 200 8ms","method":"POST","requestID":"d11e6870-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/a0705751-7cc0-4a11-8bea-0881efccad81/signaling"} device-1 | {"device":"d28c54a3-2724-4f43-bd5c-d82a3f68f36a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"d28c54a3-2724-4f43-bd5c-d82a3f68f36a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d11fef10-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d11fef10-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a/signaling 200 16ms","method":"POST","requestID":"d11fef10-242b-11f0-a4ab-3996a0934271","responseTime":16,"status":200,"url":"/devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a/signaling"} device-1 | {"device":"a0705751-7cc0-4a11-8bea-0881efccad81","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"a0705751-7cc0-4a11-8bea-0881efccad81","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 4912512971543338405 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:+SFi\r\na=ice-pwd:V5NVp98ieUWKvOwFp2ZVw382\r\na=ice-options:trickle\r\na=fingerprint:sha-256 A0:A3:20:F9:3B:89:3D:6F:66:11:67:BB:16:76:B8:E4:DE:DB:69:B0:1E:93:AE:D3:9E:9E:3D:66:07:18:B5:33\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"a0705751-7cc0-4a11-8bea-0881efccad81","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 8922921894222199675 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:HU2Y\r\na=ice-pwd:YrEM6MdwdvEWF4AkWaYfyAJu\r\na=ice-options:trickle\r\na=fingerprint:sha-256 88:DB:5C:85:97:EB:FA:D6:A9:0C:0C:87:61:A0:5C:0B:5F:44:86:22:91:64:78:03:B6:D6:20:21:C3:F3:BB:BF\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"d28c54a3-2724-4f43-bd5c-d82a3f68f36a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:513542415 1 udp 2113937151 cac74fac-7b1c-4c4f-972d-abb7893c247f.local 37059 typ host generation 0 ufrag HU2Y network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"d28c54a3-2724-4f43-bd5c-d82a3f68f36a","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/d28c54a3-2724-4f43-bd5c-d82a3f68f36a'"} device-1 | {"content":{"candidate":"candidate:290674949 1 udp 2113937151 140828ee-0e0f-4d87-89a3-b18c31406444.local 56645 typ host generation 0 ufrag +SFi network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"a0705751-7cc0-4a11-8bea-0881efccad81","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"a0705751-7cc0-4a11-8bea-0881efccad81","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/c4f2db16-7b77-4f24-8133-91322be89a2e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c4f2db16-7b77-4f24-8133-91322be89a2e","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"a0705751-7cc0-4a11-8bea-0881efccad81","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"d28c54a3-2724-4f43-bd5c-d82a3f68f36a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"69616dae680696a8e5ccedfe602725d8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"d28c54a3-2724-4f43-bd5c-d82a3f68f36a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"69616dae680696a8e5ccedfe602725d8","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/d28c54a3-2724-4f43-bd5c-d82a3f68f36a"},{"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/a0705751-7cc0-4a11-8bea-0881efccad81"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c4f2db16-7b77-4f24-8133-91322be89a2e"}}},"level":"info","message":"received a callback","requestID":"69616dae680696a8e5ccedfe602725d8"} device-1 | {"device":"a0705751-7cc0-4a11-8bea-0881efccad81","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"d28c54a3-2724-4f43-bd5c-d82a3f68f36a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"69616dae680696a8e5ccedfe602725d8","responseTime":7,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"peerconnection":"c4f2db16-7b77-4f24-8133-91322be89a2e","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} gateway-1 | {"time_local":"28/Apr/2025:12:25: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.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"69616dae680696a8e5ccedfe602725d8"} device-1 | {"device":"d28c54a3-2724-4f43-bd5c-d82a3f68f36a","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"c4f2db16-7b77-4f24-8133-91322be89a2e","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/c4f2db16-7b77-4f24-8133-91322be89a2e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c4f2db16-7b77-4f24-8133-91322be89a2e","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3f4a858c290e83d4ac142d2a4b9863b5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3f4a858c290e83d4ac142d2a4b9863b5","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/d28c54a3-2724-4f43-bd5c-d82a3f68f36a"},{"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/a0705751-7cc0-4a11-8bea-0881efccad81"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c4f2db16-7b77-4f24-8133-91322be89a2e"}}},"level":"info","message":"received a callback","requestID":"3f4a858c290e83d4ac142d2a4b9863b5"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"d12c9940-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:06Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc4f2db16-7b77-4f24-8133-91322be89a2e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3b336a6e-43ea-474b-85e4-33b021fd72df","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843106.0082173} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.223565,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c4f2db16-7b77-4f24-8133-91322be89a2e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d12c9940-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c4f2db16-7b77-4f24-8133-91322be89a2e","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 13ms","method":"POST","requestID":"d12c9940-242b-11f0-a4ab-3996a0934271","responseTime":13,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"d12c9940-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /peerconnections/c4f2db16-7b77-4f24-8133-91322be89a2e 200 29ms","method":"GET","requestID":"d12c9940-242b-11f0-a4ab-3996a0934271","responseTime":29,"status":200,"url":"/peerconnections/c4f2db16-7b77-4f24-8133-91322be89a2e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 46ms","method":"POST","requestID":"3f4a858c290e83d4ac142d2a4b9863b5","responseTime":46,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25: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.048","http_referrer":"","http_user_agent":"node-fetch","requestID":"3f4a858c290e83d4ac142d2a4b9863b5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d13328f0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:06Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd28c54a3-2724-4f43-bd5c-d82a3f68f36a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2e8c8940-fb18-4ef0-9fc4-6d96ff29f55a","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843106.050788} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.315024,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d13328f0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a","object_type":"device","rebac_allow":false,"scope_allow":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":"d13328f0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d13328f0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a/signaling 200 7ms","method":"POST","requestID":"d13328f0-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d1348880-242b-11f0-a4ab-3996a0934271"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwNn0.-lMm7fhc_12Mb1R9Pbr4taoUnbu2ybiy2pGBvASr6TQ","level":"info","message":"auth send jwt","requestID":"5da1331361b11c00ce003f5ce30964f2"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5da1331361b11c00ce003f5ce30964f2","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:06Z"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0a105cbe-9d12-4343-a98c-2d39cb5ce610","requestID":"5da1331361b11c00ce003f5ce30964f2"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0705751-7cc0-4a11-8bea-0881efccad81","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3ccceac3-5a77-4ed7-8dd3-efe6357b5719","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843106.085953} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.383981,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:06Z"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0705751-7cc0-4a11-8bea-0881efccad81","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d1348880-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a0705751-7cc0-4a11-8bea-0881efccad81","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d1348880-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.331319,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0a105cbe-9d12-4343-a98c-2d39cb5ce610","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"5da1331361b11c00ce003f5ce30964f2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/0a105cbe-9d12-4343-a98c-2d39cb5ce610","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843106,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwNn0.-lMm7fhc_12Mb1R9Pbr4taoUnbu2ybiy2pGBvASr6TQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5da1331361b11c00ce003f5ce30964f2","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d1348880-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/a0705751-7cc0-4a11-8bea-0881efccad81/signaling 200 34ms","method":"POST","requestID":"d1348880-242b-11f0-a4ab-3996a0934271","responseTime":34,"status":200,"url":"/devices/a0705751-7cc0-4a11-8bea-0881efccad81/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/0a105cbe-9d12-4343-a98c-2d39cb5ce610","requestID":"5da1331361b11c00ce003f5ce30964f2"} experiment-1 | {"level":"info","message":"GET /experiments/0a105cbe-9d12-4343-a98c-2d39cb5ce610 200 9ms","method":"GET","requestID":"5da1331361b11c00ce003f5ce30964f2","responseTime":9,"status":200,"url":"/experiments/0a105cbe-9d12-4343-a98c-2d39cb5ce610"} gateway-1 | {"time_local":"28/Apr/2025:12:25:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0a105cbe-9d12-4343-a98c-2d39cb5ce610 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":"5da1331361b11c00ce003f5ce30964f2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwNn0.-lMm7fhc_12Mb1R9Pbr4taoUnbu2ybiy2pGBvASr6TQ","level":"info","message":"auth send jwt","requestID":"a0974884222c9dfeb42101e9f598b0e4"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a0974884222c9dfeb42101e9f598b0e4","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/0a105cbe-9d12-4343-a98c-2d39cb5ce610","requestID":"a0974884222c9dfeb42101e9f598b0e4"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:06Z"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.715663,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:06Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0a105cbe-9d12-4343-a98c-2d39cb5ce610","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a0974884222c9dfeb42101e9f598b0e4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/0a105cbe-9d12-4343-a98c-2d39cb5ce610","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843106,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwNn0.-lMm7fhc_12Mb1R9Pbr4taoUnbu2ybiy2pGBvASr6TQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a0974884222c9dfeb42101e9f598b0e4","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a105cbe-9d12-4343-a98c-2d39cb5ce610"},"level":"info","message":"Attempting to finish experiment","requestID":"a0974884222c9dfeb42101e9f598b0e4"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"d13c0290-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:06Z"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.691888,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:06Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c4f2db16-7b77-4f24-8133-91322be89a2e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d13c0290-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:http://localhost/peerconnections/c4f2db16-7b77-4f24-8133-91322be89a2e","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843106,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwNn0.-lMm7fhc_12Mb1R9Pbr4taoUnbu2ybiy2pGBvASr6TQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 23ms","method":"POST","requestID":"d13c0290-242b-11f0-a4ab-3996a0934271","responseTime":23,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/c4f2db16-7b77-4f24-8133-91322be89a2e","device":"a0705751-7cc0-4a11-8bea-0881efccad81","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/c4f2db16-7b77-4f24-8133-91322be89a2e","device":"d28c54a3-2724-4f43-bd5c-d82a3f68f36a","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/c4f2db16-7b77-4f24-8133-91322be89a2e' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c4f2db16-7b77-4f24-8133-91322be89a2e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c4f2db16-7b77-4f24-8133-91322be89a2e","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"376e0133d4ac4ef00342cd5d55a7f662","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc4f2db16-7b77-4f24-8133-91322be89a2e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc4f2db16-7b77-4f24-8133-91322be89a2e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"3a03fccc-8174-43ad-8fbd-73b2c6fa991c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843106.1383414} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"376e0133d4ac4ef00342cd5d55a7f662","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b830b3c8b3160538ca57912499cee3b0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2480e07b-aebf-4a16-a4ed-bd0e6a75ed82","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843106.1386786} 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/d28c54a3-2724-4f43-bd5c-d82a3f68f36a"},{"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/a0705751-7cc0-4a11-8bea-0881efccad81"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c4f2db16-7b77-4f24-8133-91322be89a2e"}}},"level":"info","message":"received a callback","requestID":"376e0133d4ac4ef00342cd5d55a7f662"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b830b3c8b3160538ca57912499cee3b0","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"d13c0290-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a"},{"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/a0705751-7cc0-4a11-8bea-0881efccad81"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c4f2db16-7b77-4f24-8133-91322be89a2e"}}},"level":"info","message":"received a callback","requestID":"b830b3c8b3160538ca57912499cee3b0"} device-1 | {"data":{"peerconnection":"c4f2db16-7b77-4f24-8133-91322be89a2e","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"d13c0290-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"DELETE /peerconnections/c4f2db16-7b77-4f24-8133-91322be89a2e 204 50ms","method":"DELETE","requestID":"d13c0290-242b-11f0-a4ab-3996a0934271","responseTime":50,"status":204,"url":"/peerconnections/c4f2db16-7b77-4f24-8133-91322be89a2e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a105cbe-9d12-4343-a98c-2d39cb5ce610"},"level":"info","message":"Successfully finished experiment","requestID":"a0974884222c9dfeb42101e9f598b0e4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d148d3d0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:06Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd28c54a3-2724-4f43-bd5c-d82a3f68f36a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5621952b-2ab2-46c9-ba66-ba927cc9b43e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843106.193648} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.296472,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d148d3d0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a","object_type":"device","rebac_allow":false,"scope_allow":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":"d148d3d0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d148d3d0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a/signaling 200 8ms","method":"POST","requestID":"d148d3d0-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d14a5a70-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0a105cbe-9d12-4343-a98c-2d39cb5ce610': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0a105cbe-9d12-4343-a98c-2d39cb5ce610","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"dc7d2265-3d43-4632-91da-1656226d27d0","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843106.2003677} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"82640670-877a-4d47-b7aa-0fb9faceb3e3","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843106.2005782} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"a0974884222c9dfeb42101e9f598b0e4","responseTime":37,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:06Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0705751-7cc0-4a11-8bea-0881efccad81","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2e52e644-f743-49e0-9e48-e40818f4baa3","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843106.2271101} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.465381,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0705751-7cc0-4a11-8bea-0881efccad81","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d14a5a70-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a0705751-7cc0-4a11-8bea-0881efccad81","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"d14a5a70-242b-11f0-a4ab-3996a0934271","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d14a5a70-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/a0705751-7cc0-4a11-8bea-0881efccad81/signaling 200 32ms","method":"POST","requestID":"d14a5a70-242b-11f0-a4ab-3996a0934271","responseTime":32,"status":200,"url":"/devices/a0705751-7cc0-4a11-8bea-0881efccad81/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/0a105cbe-9d12-4343-a98c-2d39cb5ce610","requestID":"a0974884222c9dfeb42101e9f598b0e4"} gateway-1 | {"time_local":"28/Apr/2025:12:25:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/0a105cbe-9d12-4343-a98c-2d39cb5ce610 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.204","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a0974884222c9dfeb42101e9f598b0e4"} experiment-1 | {"level":"info","message":"DELETE /experiments/0a105cbe-9d12-4343-a98c-2d39cb5ce610 204 203ms","method":"DELETE","requestID":"a0974884222c9dfeb42101e9f598b0e4","responseTime":203,"status":204,"url":"/experiments/0a105cbe-9d12-4343-a98c-2d39cb5ce610"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 163ms","method":"POST","requestID":"376e0133d4ac4ef00342cd5d55a7f662","responseTime":163,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25: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.165","http_referrer":"","http_user_agent":"node-fetch","requestID":"376e0133d4ac4ef00342cd5d55a7f662"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 164ms","method":"POST","requestID":"b830b3c8b3160538ca57912499cee3b0","responseTime":164,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25: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.167","http_referrer":"","http_user_agent":"node-fetch","requestID":"b830b3c8b3160538ca57912499cee3b0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwNn0.-lMm7fhc_12Mb1R9Pbr4taoUnbu2ybiy2pGBvASr6TQ","level":"info","message":"auth send jwt","requestID":"797da7a73e61184e5047920080fdafb1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"797da7a73e61184e5047920080fdafb1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"797da7a73e61184e5047920080fdafb1"} gateway-1 | {"time_local":"28/Apr/2025:12:25:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2539","request_time":"0.815","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ed5765d0a5ecb2f16a75cd318fa3dcf5"} gateway-1 | {"time_local":"28/Apr/2025:12:25:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2541","request_time":"0.827","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"518ab64864af2697f053e5e07c4d6902"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:06Z"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":3.344455,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:06Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a0705751-7cc0-4a11-8bea-0881efccad81' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"797da7a73e61184e5047920080fdafb1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843106,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwNn0.-lMm7fhc_12Mb1R9Pbr4taoUnbu2ybiy2pGBvASr6TQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"797da7a73e61184e5047920080fdafb1","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d28c54a3-2724-4f43-bd5c-d82a3f68f36a' 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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2eee8324-a504-4692-a6dc-f04b2e67f1ae","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"96dde0e6-b5b4-402d-8af7-de3a7bacacd8","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843106.3261826} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"797da7a73e61184e5047920080fdafb1","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a198fc58-3311-4fb1-9895-78cbc5c736f6","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843106.329855} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"797da7a73e61184e5047920080fdafb1","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2eee8324-a504-4692-a6dc-f04b2e67f1ae","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"e68087c6-6437-4b55-8537-474102d5e41c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843106.341197} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f07ab6b0-f9ae-4333-86c1-5cde9ab70faf","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843106.3412874} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"797da7a73e61184e5047920080fdafb1","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2eee8324-a504-4692-a6dc-f04b2e67f1ae","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2eee8324-a504-4692-a6dc-f04b2e67f1ae","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:06.341176645Z"}]},"request_id":"bfa0a9de-bf76-4bd2-b262-8a19047ca45b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843106.3443775} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"797da7a73e61184e5047920080fdafb1","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"797da7a73e61184e5047920080fdafb1"} gateway-1 | {"time_local":"28/Apr/2025:12:25: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.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"797da7a73e61184e5047920080fdafb1"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"797da7a73e61184e5047920080fdafb1","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwNn0.-lMm7fhc_12Mb1R9Pbr4taoUnbu2ybiy2pGBvASr6TQ","level":"info","message":"auth send jwt","requestID":"9491df60006be59e0a0b4f62198f05bf"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9491df60006be59e0a0b4f62198f05bf","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"9491df60006be59e0a0b4f62198f05bf"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:06Z"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.664371,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9491df60006be59e0a0b4f62198f05bf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843106,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwNn0.-lMm7fhc_12Mb1R9Pbr4taoUnbu2ybiy2pGBvASr6TQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"9491df60006be59e0a0b4f62198f05bf","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc76f3ca8-6f3d-4d05-beaa-6a9132971cbd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"01abfbd3-2203-4f45-b30a-c6acb5f56191","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843106.3640308} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9491df60006be59e0a0b4f62198f05bf","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f584daed-2685-4af6-bf08-acdca5c89ae0","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843106.3675447} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"9491df60006be59e0a0b4f62198f05bf","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc76f3ca8-6f3d-4d05-beaa-6a9132971cbd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"6ea968f7-9483-40b0-b8b3-5b68a9572ece","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843106.3764179} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"36b88e3e-2172-4627-bf46-57c900fa71ba","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843106.3766475} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"9491df60006be59e0a0b4f62198f05bf","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc76f3ca8-6f3d-4d05-beaa-6a9132971cbd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc76f3ca8-6f3d-4d05-beaa-6a9132971cbd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:06.376389182Z"}]},"request_id":"2c58bda0-e151-44ca-a84e-5a0eeaa3e788","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843106.3796427} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9491df60006be59e0a0b4f62198f05bf","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"9491df60006be59e0a0b4f62198f05bf"} gateway-1 | {"time_local":"28/Apr/2025:12:25: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.035","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9491df60006be59e0a0b4f62198f05bf"} device-1 | {"level":"info","message":"POST /devices? 201 31ms","method":"POST","requestID":"9491df60006be59e0a0b4f62198f05bf","responseTime":31,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwN30.Z1tyspbiWdWlBVZ94KhufgxZFUimUB3FdfGT96up2TU","level":"info","message":"auth send jwt","requestID":"f8739a865c09168ae3da606eadbeb0b6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f8739a865c09168ae3da606eadbeb0b6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"f8739a865c09168ae3da606eadbeb0b6"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:07Z"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.701622,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"f8739a865c09168ae3da606eadbeb0b6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843107,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwN30.Z1tyspbiWdWlBVZ94KhufgxZFUimUB3FdfGT96up2TU"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"f8739a865c09168ae3da606eadbeb0b6","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc76f3ca8-6f3d-4d05-beaa-6a9132971cbd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc76f3ca8-6f3d-4d05-beaa-6a9132971cbd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:06.376389182Z"}]},"request_id":"c9f05dd4-f6ae-467e-a1de-30a4ea33ad2c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843107.2373066} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f8739a865c09168ae3da606eadbeb0b6","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f28972b4-9a66-4a84-a7e7-be83b0d10ae7","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843107.2412162} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"f8739a865c09168ae3da606eadbeb0b6","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc76f3ca8-6f3d-4d05-beaa-6a9132971cbd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc76f3ca8-6f3d-4d05-beaa-6a9132971cbd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:06.376389182Z"}]},"request_id":"57effab3-8d31-42c4-9f42-3514b09f544f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843107.2492697} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f8739a865c09168ae3da606eadbeb0b6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"f8739a865c09168ae3da606eadbeb0b6"} gateway-1 | {"time_local":"28/Apr/2025:12:25:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.049","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"f8739a865c09168ae3da606eadbeb0b6"} device-1 | {"level":"info","message":"PATCH /devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd 200 46ms","method":"PATCH","requestID":"f8739a865c09168ae3da606eadbeb0b6","responseTime":46,"status":200,"url":"/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwN30.Z1tyspbiWdWlBVZ94KhufgxZFUimUB3FdfGT96up2TU","level":"info","message":"auth send jwt","requestID":"52373f80dde5a55a050ebe7201b7ad73"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"52373f80dde5a55a050ebe7201b7ad73","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"52373f80dde5a55a050ebe7201b7ad73"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:07Z"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.933344,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"52373f80dde5a55a050ebe7201b7ad73","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843107,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwN30.Z1tyspbiWdWlBVZ94KhufgxZFUimUB3FdfGT96up2TU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"52373f80dde5a55a050ebe7201b7ad73","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"52373f80dde5a55a050ebe7201b7ad73"} device-1 | {"level":"info","message":"POST /devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd/websocket 200 41ms","method":"POST","requestID":"52373f80dde5a55a050ebe7201b7ad73","responseTime":41,"status":200,"url":"/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:25:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"52373f80dde5a55a050ebe7201b7ad73"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7f9a60ab539110f9f8e657d758fa3910","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7f9a60ab539110f9f8e657d758fa3910","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:25:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae/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":"7f9a60ab539110f9f8e657d758fa3910"} device-1 | {"level":"info","message":"OPTIONS /devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae/websocket 200 1ms","method":"OPTIONS","requestID":"7f9a60ab539110f9f8e657d758fa3910","responseTime":1,"status":200,"url":"/devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwOH0.lbzZsynYUC39Uy18bnqR2YXi1ya1lMEO08bS6e14HRk","level":"info","message":"auth send jwt","requestID":"d074705b8ed9b16570ad2724f524ea42"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d074705b8ed9b16570ad2724f524ea42","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"d074705b8ed9b16570ad2724f524ea42"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:08Z"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.137745,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:08Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d074705b8ed9b16570ad2724f524ea42","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843108,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwOH0.lbzZsynYUC39Uy18bnqR2YXi1ya1lMEO08bS6e14HRk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d074705b8ed9b16570ad2724f524ea42","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"d074705b8ed9b16570ad2724f524ea42"} gateway-1 | {"time_local":"28/Apr/2025:12:25:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae/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":"d074705b8ed9b16570ad2724f524ea42"} device-1 | {"level":"info","message":"POST /devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae/websocket 200 19ms","method":"POST","requestID":"d074705b8ed9b16570ad2724f524ea42","responseTime":19,"status":200,"url":"/devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwOH0.lbzZsynYUC39Uy18bnqR2YXi1ya1lMEO08bS6e14HRk","level":"info","message":"auth send jwt","requestID":"43efdc8f62a95f0d07f3fdbfbf8b3c0c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"43efdc8f62a95f0d07f3fdbfbf8b3c0c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"43efdc8f62a95f0d07f3fdbfbf8b3c0c"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:08Z"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.635173,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"43efdc8f62a95f0d07f3fdbfbf8b3c0c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843108,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwOH0.lbzZsynYUC39Uy18bnqR2YXi1ya1lMEO08bS6e14HRk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"43efdc8f62a95f0d07f3fdbfbf8b3c0c","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2eee8324-a504-4692-a6dc-f04b2e67f1ae","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2eee8324-a504-4692-a6dc-f04b2e67f1ae","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:06.341176645Z"}]},"request_id":"7c4b4ec2-9f53-451a-82c3-8bc53aa76b96","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843108.6718068} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"43efdc8f62a95f0d07f3fdbfbf8b3c0c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"43efdc8f62a95f0d07f3fdbfbf8b3c0c"} device-1 | {"level":"info","message":"GET /devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae? 200 12ms","method":"GET","requestID":"43efdc8f62a95f0d07f3fdbfbf8b3c0c","responseTime":12,"status":200,"url":"/devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae?"} gateway-1 | {"time_local":"28/Apr/2025:12:25:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae? 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":"43efdc8f62a95f0d07f3fdbfbf8b3c0c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwOH0.lbzZsynYUC39Uy18bnqR2YXi1ya1lMEO08bS6e14HRk","level":"info","message":"auth send jwt","requestID":"86efd51c5f67f1bfe5b7cae848bb8aeb"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"86efd51c5f67f1bfe5b7cae848bb8aeb","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"86efd51c5f67f1bfe5b7cae848bb8aeb"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:08Z"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.665701,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"86efd51c5f67f1bfe5b7cae848bb8aeb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843108,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwOH0.lbzZsynYUC39Uy18bnqR2YXi1ya1lMEO08bS6e14HRk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"86efd51c5f67f1bfe5b7cae848bb8aeb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc76f3ca8-6f3d-4d05-beaa-6a9132971cbd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc76f3ca8-6f3d-4d05-beaa-6a9132971cbd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:06.376389182Z"}]},"request_id":"d582f7fd-0832-4bb3-98d5-6637c1b11276","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843108.686371} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"86efd51c5f67f1bfe5b7cae848bb8aeb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"86efd51c5f67f1bfe5b7cae848bb8aeb"} gateway-1 | {"time_local":"28/Apr/2025:12:25:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd? 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":"86efd51c5f67f1bfe5b7cae848bb8aeb"} device-1 | {"level":"info","message":"GET /devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd? 200 10ms","method":"GET","requestID":"86efd51c5f67f1bfe5b7cae848bb8aeb","responseTime":10,"status":200,"url":"/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwOH0.lbzZsynYUC39Uy18bnqR2YXi1ya1lMEO08bS6e14HRk","level":"info","message":"auth send jwt","requestID":"88aa440abed98ba55627f0cc9b3f047b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"88aa440abed98ba55627f0cc9b3f047b","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"88aa440abed98ba55627f0cc9b3f047b"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:08Z"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.572763,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"88aa440abed98ba55627f0cc9b3f047b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843108,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwOH0.lbzZsynYUC39Uy18bnqR2YXi1ya1lMEO08bS6e14HRk"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"88aa440abed98ba55627f0cc9b3f047b","responseTime":27,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d288b29-eb95-4f1e-ab0b-ca7b7656132c"},"level":"info","message":"Attempting to run experiment","requestID":"88aa440abed98ba55627f0cc9b3f047b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d288b29-eb95-4f1e-ab0b-ca7b7656132c"},"level":"info","message":"Attempting to book experiment","requestID":"88aa440abed98ba55627f0cc9b3f047b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d288b29-eb95-4f1e-ab0b-ca7b7656132c"},"level":"info","message":"Successfully booked experiment","requestID":"88aa440abed98ba55627f0cc9b3f047b"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d2cf25b0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d2d25a00-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:08Z"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.989156,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:08Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d2cf25b0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843108,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwOH0.lbzZsynYUC39Uy18bnqR2YXi1ya1lMEO08bS6e14HRk"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d2cf25b0-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.986442,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d2d25a00-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843108,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwOH0.lbzZsynYUC39Uy18bnqR2YXi1ya1lMEO08bS6e14HRk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d2d25a00-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2eee8324-a504-4692-a6dc-f04b2e67f1ae","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2eee8324-a504-4692-a6dc-f04b2e67f1ae","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:06.341176645Z"}]},"request_id":"95150f89-85f9-4083-a7b3-efcc4a47913d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843108.7785761} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d2cf25b0-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc76f3ca8-6f3d-4d05-beaa-6a9132971cbd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc76f3ca8-6f3d-4d05-beaa-6a9132971cbd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:06.376389182Z"}]},"request_id":"2ade3c38-6f38-4423-8733-8c90b84fc76b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843108.7792428} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d2d25a00-242b-11f0-a4ab-3996a0934271","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d2cf25b0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae? 200 36ms","method":"GET","requestID":"d2cf25b0-242b-11f0-a4ab-3996a0934271","responseTime":36,"status":200,"url":"/devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d2d25a00-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd? 200 16ms","method":"GET","requestID":"d2d25a00-242b-11f0-a4ab-3996a0934271","responseTime":16,"status":200,"url":"/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d288b29-eb95-4f1e-ab0b-ca7b7656132c"},"level":"info","message":"Setting up experiment","requestID":"88aa440abed98ba55627f0cc9b3f047b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d288b29-eb95-4f1e-ab0b-ca7b7656132c"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"88aa440abed98ba55627f0cc9b3f047b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d288b29-eb95-4f1e-ab0b-ca7b7656132c"},"level":"info","message":"Successfully locked booking for experiment","requestID":"88aa440abed98ba55627f0cc9b3f047b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d288b29-eb95-4f1e-ab0b-ca7b7656132c"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"88aa440abed98ba55627f0cc9b3f047b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d288b29-eb95-4f1e-ab0b-ca7b7656132c"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"88aa440abed98ba55627f0cc9b3f047b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d288b29-eb95-4f1e-ab0b-ca7b7656132c"},"level":"info","message":"Attempting to update booking for experiment","requestID":"88aa440abed98ba55627f0cc9b3f047b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d288b29-eb95-4f1e-ab0b-ca7b7656132c"},"level":"info","message":"Successfully updated booking for experiment","requestID":"88aa440abed98ba55627f0cc9b3f047b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d288b29-eb95-4f1e-ab0b-ca7b7656132c"},"level":"info","message":"Successfully set up experiment","requestID":"88aa440abed98ba55627f0cc9b3f047b"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d2dd5680-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d2e14e20-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d2e17530-242b-11f0-a4ab-3996a0934271"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d288b29-eb95-4f1e-ab0b-ca7b7656132c"},"level":"info","message":"Successfully running experiment","requestID":"88aa440abed98ba55627f0cc9b3f047b"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:08Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.658357,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:08Z"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d2dd5680-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843108,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwOH0.lbzZsynYUC39Uy18bnqR2YXi1ya1lMEO08bS6e14HRk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d2dd5680-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.755967,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d2e14e20-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843108,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwOH0.lbzZsynYUC39Uy18bnqR2YXi1ya1lMEO08bS6e14HRk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d2e14e20-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:08Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2eee8324-a504-4692-a6dc-f04b2e67f1ae","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e528d71c-83e9-4c80-9695-924f29a8733f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843108.872981} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc76f3ca8-6f3d-4d05-beaa-6a9132971cbd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc76f3ca8-6f3d-4d05-beaa-6a9132971cbd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:06.376389182Z"}]},"request_id":"ef35d306-e934-4bb1-b9bc-4e52c3d4562e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843108.8735037} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.700631,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:08Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d2e14e20-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d2e17530-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d2e17530-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2eee8324-a504-4692-a6dc-f04b2e67f1ae","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2eee8324-a504-4692-a6dc-f04b2e67f1ae","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:06.341176645Z"}]},"request_id":"117d42de-3fb0-483b-96e5-6b202f2bbb7d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843108.8750021} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d2dd5680-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d2e14e20-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd? 200 15ms","method":"GET","requestID":"d2e14e20-242b-11f0-a4ab-3996a0934271","responseTime":15,"status":200,"url":"/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"28eb8bd2-e86a-40eb-8071-8b1099a59af5","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843108.8812377} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5d288b29-eb95-4f1e-ab0b-ca7b7656132c#owner@http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5d288b29-eb95-4f1e-ab0b-ca7b7656132c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"6359957b-cbef-4f22-8122-5407ab6501ec","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843108.8815882} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d2e17530-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae/signaling 200 15ms","method":"POST","requestID":"d2e17530-242b-11f0-a4ab-3996a0934271","responseTime":15,"status":200,"url":"/devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d2dd5680-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"88aa440abed98ba55627f0cc9b3f047b","responseTime":12,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae? 200 43ms","method":"GET","requestID":"d2dd5680-242b-11f0-a4ab-3996a0934271","responseTime":43,"status":200,"url":"/devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d2e40d40-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:08Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d2e4a980-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc76f3ca8-6f3d-4d05-beaa-6a9132971cbd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e2a12155-89e4-417b-b2e4-3212866843da","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843108.9131243} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.320842,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:08Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:08Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/5d288b29-eb95-4f1e-ab0b-ca7b7656132c","user":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"88aa440abed98ba55627f0cc9b3f047b"} experiment-1 | {"level":"info","message":"POST /experiments? 201 222ms","method":"POST","requestID":"88aa440abed98ba55627f0cc9b3f047b","responseTime":222,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d2e40d40-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"28/Apr/2025:12:25:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.225","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"88aa440abed98ba55627f0cc9b3f047b"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"d2e40d40-242b-11f0-a4ab-3996a0934271","responseTime":31,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2eee8324-a504-4692-a6dc-f04b2e67f1ae","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c951d0ac-4242-4cbe-8360-0c6a2806e3a6","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843108.9171312} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.019677,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d2e4a980-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d2e4a980-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d2e40d40-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd/signaling 200 35ms","method":"POST","requestID":"d2e40d40-242b-11f0-a4ab-3996a0934271","responseTime":35,"status":200,"url":"/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwOH0.lbzZsynYUC39Uy18bnqR2YXi1ya1lMEO08bS6e14HRk","level":"info","message":"auth send jwt","requestID":"9b9d27b6d8d520c910166ff6e8adcab7"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9b9d27b6d8d520c910166ff6e8adcab7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9b9d27b6d8d520c910166ff6e8adcab7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d2e4a980-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae/signaling 200 35ms","method":"POST","requestID":"d2e4a980-242b-11f0-a4ab-3996a0934271","responseTime":35,"status":200,"url":"/devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:08Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.736368,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9b9d27b6d8d520c910166ff6e8adcab7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843108,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwOH0.lbzZsynYUC39Uy18bnqR2YXi1ya1lMEO08bS6e14HRk"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d2ea4ed0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9b9d27b6d8d520c910166ff6e8adcab7","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:08Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2eee8324-a504-4692-a6dc-f04b2e67f1ae","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2eee8324-a504-4692-a6dc-f04b2e67f1ae","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:06.341176645Z"}]},"request_id":"793aff23-0c7e-4d5e-8b7f-19adfeb5725d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843108.9302602} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc76f3ca8-6f3d-4d05-beaa-6a9132971cbd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"52584fda-0863-46dc-bfc8-a04ef56e5895","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843108.9303927} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9b9d27b6d8d520c910166ff6e8adcab7","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.327698,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d2ea4ed0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d2ea4ed0-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9b9d27b6d8d520c910166ff6e8adcab7"} gateway-1 | {"time_local":"28/Apr/2025:12:25:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae? 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":"9b9d27b6d8d520c910166ff6e8adcab7"} device-1 | {"level":"info","message":"GET /devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae? 200 13ms","method":"GET","requestID":"9b9d27b6d8d520c910166ff6e8adcab7","responseTime":13,"status":200,"url":"/devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d2ea4ed0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd/signaling 200 11ms","method":"POST","requestID":"d2ea4ed0-242b-11f0-a4ab-3996a0934271","responseTime":11,"status":200,"url":"/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d288b29-eb95-4f1e-ab0b-ca7b7656132c"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"88aa440abed98ba55627f0cc9b3f047b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d288b29-eb95-4f1e-ab0b-ca7b7656132c"},"level":"info","message":"Building connection plan","requestID":"88aa440abed98ba55627f0cc9b3f047b"} 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":"f9979ab9-9f4f-4d0c-9aa8-c636064c0788"},{"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":"08f688fe-33a0-4c87-b58f-659d01a16cfb"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"8e6273e8-b3d6-4b47-9c41-f55ece206b9a"}]},"level":"info","message":"Built pairwise service configurations","requestID":"88aa440abed98ba55627f0cc9b3f047b"} 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/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd"},{"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/2eee8324-a504-4692-a6dc-f04b2e67f1ae"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"88aa440abed98ba55627f0cc9b3f047b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwOH0.lbzZsynYUC39Uy18bnqR2YXi1ya1lMEO08bS6e14HRk","level":"info","message":"auth send jwt","requestID":"8702d3904d90cf7d434ebc69f28cf113"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8702d3904d90cf7d434ebc69f28cf113","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"d2f01b30-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8702d3904d90cf7d434ebc69f28cf113"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:08Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.648994,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:08Z"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d2f01b30-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843108,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwOH0.lbzZsynYUC39Uy18bnqR2YXi1ya1lMEO08bS6e14HRk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d2f01b30-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.769667,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"8702d3904d90cf7d434ebc69f28cf113","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843108,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEwOH0.lbzZsynYUC39Uy18bnqR2YXi1ya1lMEO08bS6e14HRk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8702d3904d90cf7d434ebc69f28cf113","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc76f3ca8-6f3d-4d05-beaa-6a9132971cbd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc76f3ca8-6f3d-4d05-beaa-6a9132971cbd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:06.376389182Z"}]},"request_id":"53727041-8e55-4a8d-a110-8e238da47602","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843108.970678} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8702d3904d90cf7d434ebc69f28cf113","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8702d3904d90cf7d434ebc69f28cf113"} device-1 | {"level":"info","message":"GET /devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd? 200 9ms","method":"GET","requestID":"8702d3904d90cf7d434ebc69f28cf113","responseTime":9,"status":200,"url":"/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd?"} gateway-1 | {"time_local":"28/Apr/2025:12:25:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8702d3904d90cf7d434ebc69f28cf113"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","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%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"c523488d-3909-4afa-b991-d2ae76164098","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843108.9740925} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e3756749-7d15-466a-8b70-c9603ee7ff70","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843108.9744241} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"d2f01b30-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"d2f01b30-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"d2f01b30-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/4f65f09f-f28c-49e5-a8d2-494465cd375b'","requestID":"d2f01b30-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/4f65f09f-f28c-49e5-a8d2-494465cd375b'","requestID":"d2f01b30-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"d2f01b30-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 22ms","method":"POST","requestID":"d2f01b30-242b-11f0-a4ab-3996a0934271","responseTime":22,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"d2f01b30-242b-11f0-a4ab-3996a0934271"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/4f65f09f-f28c-49e5-a8d2-494465cd375b","device":"2eee8324-a504-4692-a6dc-f04b2e67f1ae","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/5d288b29-eb95-4f1e-ab0b-ca7b7656132c"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"88aa440abed98ba55627f0cc9b3f047b"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:09Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d2faa280-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2eee8324-a504-4692-a6dc-f04b2e67f1ae","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3ae943c0-d551-4ae7-9de7-02ca59a5d0f9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843109.0575883} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":23.610841,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d2faa280-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"d2faa280-242b-11f0-a4ab-3996a0934271","responseTime":26,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d2faa280-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae/signaling 200 29ms","method":"POST","requestID":"d2faa280-242b-11f0-a4ab-3996a0934271","responseTime":29,"status":200,"url":"/devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d2ff5d70-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:09Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc76f3ca8-6f3d-4d05-beaa-6a9132971cbd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a92c1190-da0a-4bda-b592-1052453b27bc","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843109.067073} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.464788,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d2ff5d70-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd","object_type":"device","rebac_allow":false,"scope_allow":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":"d2ff5d70-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d2ff5d70-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd/signaling 200 8ms","method":"POST","requestID":"d2ff5d70-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd/signaling"} device-1 | {"device":"2eee8324-a504-4692-a6dc-f04b2e67f1ae","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"2eee8324-a504-4692-a6dc-f04b2e67f1ae","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 4150728841289122735 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:78uy\r\na=ice-pwd:BBGdnTW85HOujMM56+vbNpsS\r\na=ice-options:trickle\r\na=fingerprint:sha-256 5E:CF:9A:CC:14:9B:61:92:4C:00:CB:F3:A6:7A:12:24:85:1F:6F:F1:55:71:56:F0:BD:CA:50:B4:28:28:51:8A\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"2eee8324-a504-4692-a6dc-f04b2e67f1ae","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"device":"2eee8324-a504-4692-a6dc-f04b2e67f1ae","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"c76f3ca8-6f3d-4d05-beaa-6a9132971cbd","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"4f65f09f-f28c-49e5-a8d2-494465cd375b","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"c76f3ca8-6f3d-4d05-beaa-6a9132971cbd","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c76f3ca8-6f3d-4d05-beaa-6a9132971cbd","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c76f3ca8-6f3d-4d05-beaa-6a9132971cbd","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c76f3ca8-6f3d-4d05-beaa-6a9132971cbd","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/4f65f09f-f28c-49e5-a8d2-494465cd375b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4f65f09f-f28c-49e5-a8d2-494465cd375b","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f4229be91b4b799c76a79ae5ec6c7ba5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"f4229be91b4b799c76a79ae5ec6c7ba5","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":"connecting","url":"http://localhost/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd"},{"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/2eee8324-a504-4692-a6dc-f04b2e67f1ae"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/4f65f09f-f28c-49e5-a8d2-494465cd375b"}}},"level":"info","message":"received a callback","requestID":"f4229be91b4b799c76a79ae5ec6c7ba5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"f4229be91b4b799c76a79ae5ec6c7ba5","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25: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.014","http_referrer":"","http_user_agent":"node-fetch","requestID":"f4229be91b4b799c76a79ae5ec6c7ba5"} device-1 | {"content":{"candidate":"candidate:2807818685 1 udp 2113937151 dfc580ec-0e05-487f-b078-38da07ee38c6.local 48361 typ host generation 0 ufrag 78uy network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"2eee8324-a504-4692-a6dc-f04b2e67f1ae","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"2eee8324-a504-4692-a6dc-f04b2e67f1ae","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"peerconnection":"4f65f09f-f28c-49e5-a8d2-494465cd375b","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"c76f3ca8-6f3d-4d05-beaa-6a9132971cbd","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2eee8324-a504-4692-a6dc-f04b2e67f1ae","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"4f65f09f-f28c-49e5-a8d2-494465cd375b","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"c76f3ca8-6f3d-4d05-beaa-6a9132971cbd","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/4f65f09f-f28c-49e5-a8d2-494465cd375b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4f65f09f-f28c-49e5-a8d2-494465cd375b","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"791fac03c9810df972d31c39a81b0c30","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"791fac03c9810df972d31c39a81b0c30","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/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd"},{"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/2eee8324-a504-4692-a6dc-f04b2e67f1ae"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/4f65f09f-f28c-49e5-a8d2-494465cd375b"}}},"level":"info","message":"received a callback","requestID":"791fac03c9810df972d31c39a81b0c30"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"d43c4a40-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:11Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4f65f09f-f28c-49e5-a8d2-494465cd375b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3d7c21e0-d4f8-4a37-aa2b-e7f72138caba","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843111.1447206} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":26.724435,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4f65f09f-f28c-49e5-a8d2-494465cd375b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d43c4a40-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/4f65f09f-f28c-49e5-a8d2-494465cd375b","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"d43c4a40-242b-11f0-a4ab-3996a0934271","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"d43c4a40-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /peerconnections/4f65f09f-f28c-49e5-a8d2-494465cd375b 200 33ms","method":"GET","requestID":"d43c4a40-242b-11f0-a4ab-3996a0934271","responseTime":33,"status":200,"url":"/peerconnections/4f65f09f-f28c-49e5-a8d2-494465cd375b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 54ms","method":"POST","requestID":"791fac03c9810df972d31c39a81b0c30","responseTime":54,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25: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.056","http_referrer":"","http_user_agent":"node-fetch","requestID":"791fac03c9810df972d31c39a81b0c30"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d443eb60-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:11Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc76f3ca8-6f3d-4d05-beaa-6a9132971cbd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fcebe9b8-ef82-4718-8018-c70385ebd337","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843111.2185304} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.627316,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d443eb60-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"d443eb60-242b-11f0-a4ab-3996a0934271","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d443eb60-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd/signaling 200 32ms","method":"POST","requestID":"d443eb60-242b-11f0-a4ab-3996a0934271","responseTime":32,"status":200,"url":"/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d448f470-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:11Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2eee8324-a504-4692-a6dc-f04b2e67f1ae","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1010b6ea-2bc2-4f01-860b-b7a16e954473","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843111.227536} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.239956,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d448f470-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d448f470-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d448f470-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae/signaling 200 7ms","method":"POST","requestID":"d448f470-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExMX0.r2aQH2QgFyyQyMvcCd9EvL4bilK5XwRsjVjYbqcPTSg","level":"info","message":"auth send jwt","requestID":"1330eb0331972f5c56030cfecac56293"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1330eb0331972f5c56030cfecac56293","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/5d288b29-eb95-4f1e-ab0b-ca7b7656132c","requestID":"1330eb0331972f5c56030cfecac56293"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:11Z"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.677458,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5d288b29-eb95-4f1e-ab0b-ca7b7656132c","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"1330eb0331972f5c56030cfecac56293","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/5d288b29-eb95-4f1e-ab0b-ca7b7656132c","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843111,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExMX0.r2aQH2QgFyyQyMvcCd9EvL4bilK5XwRsjVjYbqcPTSg"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"1330eb0331972f5c56030cfecac56293","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/5d288b29-eb95-4f1e-ab0b-ca7b7656132c","requestID":"1330eb0331972f5c56030cfecac56293"} gateway-1 | {"time_local":"28/Apr/2025:12:25:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/5d288b29-eb95-4f1e-ab0b-ca7b7656132c HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.035","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1330eb0331972f5c56030cfecac56293"} experiment-1 | {"level":"info","message":"GET /experiments/5d288b29-eb95-4f1e-ab0b-ca7b7656132c 200 32ms","method":"GET","requestID":"1330eb0331972f5c56030cfecac56293","responseTime":32,"status":200,"url":"/experiments/5d288b29-eb95-4f1e-ab0b-ca7b7656132c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExMX0.r2aQH2QgFyyQyMvcCd9EvL4bilK5XwRsjVjYbqcPTSg","level":"info","message":"auth send jwt","requestID":"ef151f1a29fb986b6f163ac698ecf7f9"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ef151f1a29fb986b6f163ac698ecf7f9","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/5d288b29-eb95-4f1e-ab0b-ca7b7656132c","requestID":"ef151f1a29fb986b6f163ac698ecf7f9"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:11Z"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.684758,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:11Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5d288b29-eb95-4f1e-ab0b-ca7b7656132c","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ef151f1a29fb986b6f163ac698ecf7f9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/5d288b29-eb95-4f1e-ab0b-ca7b7656132c","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843111,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExMX0.r2aQH2QgFyyQyMvcCd9EvL4bilK5XwRsjVjYbqcPTSg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ef151f1a29fb986b6f163ac698ecf7f9","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d288b29-eb95-4f1e-ab0b-ca7b7656132c"},"level":"info","message":"Attempting to finish experiment","requestID":"ef151f1a29fb986b6f163ac698ecf7f9"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"d45158e0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:11Z"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.713986,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:11Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4f65f09f-f28c-49e5-a8d2-494465cd375b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d45158e0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:http://localhost/peerconnections/4f65f09f-f28c-49e5-a8d2-494465cd375b","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843111,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExMX0.r2aQH2QgFyyQyMvcCd9EvL4bilK5XwRsjVjYbqcPTSg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d45158e0-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/4f65f09f-f28c-49e5-a8d2-494465cd375b","device":"2eee8324-a504-4692-a6dc-f04b2e67f1ae","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"c76f3ca8-6f3d-4d05-beaa-6a9132971cbd","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c76f3ca8-6f3d-4d05-beaa-6a9132971cbd","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c76f3ca8-6f3d-4d05-beaa-6a9132971cbd","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/4f65f09f-f28c-49e5-a8d2-494465cd375b' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/4f65f09f-f28c-49e5-a8d2-494465cd375b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4f65f09f-f28c-49e5-a8d2-494465cd375b","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4f65f09f-f28c-49e5-a8d2-494465cd375b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4f65f09f-f28c-49e5-a8d2-494465cd375b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"269438d3-5f59-45e5-8d60-a37ff65b419a","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843111.3156974} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"54d103a9-c2ca-43b9-8687-5e85a9c3fa89","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843111.315976} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"d45158e0-242b-11f0-a4ab-3996a0934271","responseTime":30,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3a1d1283cc7414b25523c97367af5ef4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"3a1d1283cc7414b25523c97367af5ef4","responseTime":0,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0b2ab42798f66646c971f737dff26a62","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd"},{"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/2eee8324-a504-4692-a6dc-f04b2e67f1ae"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4f65f09f-f28c-49e5-a8d2-494465cd375b"}}},"level":"info","message":"received a callback","requestID":"3a1d1283cc7414b25523c97367af5ef4"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0b2ab42798f66646c971f737dff26a62","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/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd"},{"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/2eee8324-a504-4692-a6dc-f04b2e67f1ae"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4f65f09f-f28c-49e5-a8d2-494465cd375b"}}},"level":"info","message":"received a callback","requestID":"0b2ab42798f66646c971f737dff26a62"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"d45158e0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"DELETE /peerconnections/4f65f09f-f28c-49e5-a8d2-494465cd375b 204 50ms","method":"DELETE","requestID":"d45158e0-242b-11f0-a4ab-3996a0934271","responseTime":50,"status":204,"url":"/peerconnections/4f65f09f-f28c-49e5-a8d2-494465cd375b"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d288b29-eb95-4f1e-ab0b-ca7b7656132c"},"level":"info","message":"Successfully finished experiment","requestID":"ef151f1a29fb986b6f163ac698ecf7f9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d45f1480-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:11Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc76f3ca8-6f3d-4d05-beaa-6a9132971cbd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a6653bcb-317a-403b-9474-953e7948fc70","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843111.3723404} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.521941,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d45f1480-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d45f1480-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d45f1480-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd/signaling 200 8ms","method":"POST","requestID":"d45f1480-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d4609b20-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5d288b29-eb95-4f1e-ab0b-ca7b7656132c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5d288b29-eb95-4f1e-ab0b-ca7b7656132c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"d2a5018e-78ff-478b-b6d7-d3741603dda5","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843111.3791392} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"48f2f473-a238-4769-a416-3dd498cd8c08","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843111.3794246} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"ef151f1a29fb986b6f163ac698ecf7f9","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:11Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2eee8324-a504-4692-a6dc-f04b2e67f1ae","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6c813160-914f-4fd1-9e8d-ba7bb16c12a7","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843111.3819268} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.181076,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d4609b20-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae","object_type":"device","rebac_allow":false,"scope_allow":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":"d4609b20-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d4609b20-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae/signaling 200 36ms","method":"POST","requestID":"d4609b20-242b-11f0-a4ab-3996a0934271","responseTime":36,"status":200,"url":"/devices/2eee8324-a504-4692-a6dc-f04b2e67f1ae/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/5d288b29-eb95-4f1e-ab0b-ca7b7656132c","requestID":"ef151f1a29fb986b6f163ac698ecf7f9"} gateway-1 | {"time_local":"28/Apr/2025:12:25:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/5d288b29-eb95-4f1e-ab0b-ca7b7656132c HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.211","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ef151f1a29fb986b6f163ac698ecf7f9"} experiment-1 | {"level":"info","message":"DELETE /experiments/5d288b29-eb95-4f1e-ab0b-ca7b7656132c 204 209ms","method":"DELETE","requestID":"ef151f1a29fb986b6f163ac698ecf7f9","responseTime":209,"status":204,"url":"/experiments/5d288b29-eb95-4f1e-ab0b-ca7b7656132c"} gateway-1 | {"time_local":"28/Apr/2025:12:25:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2540","request_time":"4.181","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"9c66b9deeedeecaeeee969a93a094ce6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 162ms","method":"POST","requestID":"3a1d1283cc7414b25523c97367af5ef4","responseTime":162,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25: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.165","http_referrer":"","http_user_agent":"node-fetch","requestID":"3a1d1283cc7414b25523c97367af5ef4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 162ms","method":"POST","requestID":"0b2ab42798f66646c971f737dff26a62","responseTime":162,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25: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.165","http_referrer":"","http_user_agent":"node-fetch","requestID":"0b2ab42798f66646c971f737dff26a62"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExMX0.r2aQH2QgFyyQyMvcCd9EvL4bilK5XwRsjVjYbqcPTSg","level":"info","message":"auth send jwt","requestID":"0fea4a4b3e09afd2e98075f01725dc6c"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0fea4a4b3e09afd2e98075f01725dc6c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"0fea4a4b3e09afd2e98075f01725dc6c"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:11Z"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.727565,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"0fea4a4b3e09afd2e98075f01725dc6c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843111,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExMX0.r2aQH2QgFyyQyMvcCd9EvL4bilK5XwRsjVjYbqcPTSg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0fea4a4b3e09afd2e98075f01725dc6c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c76f3ca8-6f3d-4d05-beaa-6a9132971cbd' closed"} gateway-1 | {"time_local":"28/Apr/2025:12:25:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2746","request_time":"2.847","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"bd3e28e3ee865e1515d516279ca512c7"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F101a6987-8203-4553-a4e6-3a5fc187d8ee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e59451a0-1d8e-4725-9a29-44124750463f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843111.5069153} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0fea4a4b3e09afd2e98075f01725dc6c","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e35ba134-fe45-4783-8a61-9ee35682efce","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843111.511388} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"0fea4a4b3e09afd2e98075f01725dc6c","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/2eee8324-a504-4692-a6dc-f04b2e67f1ae' closed"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F101a6987-8203-4553-a4e6-3a5fc187d8ee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"47fe77c9-ac20-4968-a1da-777be4f30d74","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843111.5216358} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0daa4223-9af5-4454-8117-2e715004a98f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843111.5217474} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"0fea4a4b3e09afd2e98075f01725dc6c","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F101a6987-8203-4553-a4e6-3a5fc187d8ee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F101a6987-8203-4553-a4e6-3a5fc187d8ee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:11.521605478Z"}]},"request_id":"2f6625e6-4106-4c46-9380-251fefd6ed83","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843111.5260828} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0fea4a4b3e09afd2e98075f01725dc6c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0fea4a4b3e09afd2e98075f01725dc6c"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"0fea4a4b3e09afd2e98075f01725dc6c","responseTime":43,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:25: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.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0fea4a4b3e09afd2e98075f01725dc6c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExMX0.r2aQH2QgFyyQyMvcCd9EvL4bilK5XwRsjVjYbqcPTSg","level":"info","message":"auth send jwt","requestID":"56decd8815bcd1e13d109f96f1af13af"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"56decd8815bcd1e13d109f96f1af13af","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"56decd8815bcd1e13d109f96f1af13af"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:11Z"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.734589,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"56decd8815bcd1e13d109f96f1af13af","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843111,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExMX0.r2aQH2QgFyyQyMvcCd9EvL4bilK5XwRsjVjYbqcPTSg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"56decd8815bcd1e13d109f96f1af13af","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb251152f-951e-41b3-b559-66e21c8fa37a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"88f5cf65-4572-42b6-bd40-9c4506af78e6","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843111.5476482} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"56decd8815bcd1e13d109f96f1af13af","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9e775404-3871-4e13-875f-fd1d79bd4a1b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843111.552054} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"56decd8815bcd1e13d109f96f1af13af","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb251152f-951e-41b3-b559-66e21c8fa37a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"122d6429-f833-48bb-8ab1-7aa470a15433","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843111.5638006} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4725c995-a574-4a50-84eb-a5e90b8ebb18","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843111.564068} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"56decd8815bcd1e13d109f96f1af13af","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb251152f-951e-41b3-b559-66e21c8fa37a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb251152f-951e-41b3-b559-66e21c8fa37a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:11.563767894Z"}]},"request_id":"43cc5931-38f3-45a1-9a81-fc74670e984f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843111.567893} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"56decd8815bcd1e13d109f96f1af13af","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"56decd8815bcd1e13d109f96f1af13af"} gateway-1 | {"time_local":"28/Apr/2025:12:25: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.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"56decd8815bcd1e13d109f96f1af13af"} device-1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"56decd8815bcd1e13d109f96f1af13af","responseTime":38,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExMn0.tswDq9meBsJXt4vxkAODgk2Xzcp_pKcupxwEymDs_Ww","level":"info","message":"auth send jwt","requestID":"7a3a139fca3b4bd8860aef0176da1678"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"7a3a139fca3b4bd8860aef0176da1678","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"7a3a139fca3b4bd8860aef0176da1678"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:12Z"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.266783,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:12Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b251152f-951e-41b3-b559-66e21c8fa37a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"7a3a139fca3b4bd8860aef0176da1678","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/b251152f-951e-41b3-b559-66e21c8fa37a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843112,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExMn0.tswDq9meBsJXt4vxkAODgk2Xzcp_pKcupxwEymDs_Ww"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7a3a139fca3b4bd8860aef0176da1678","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb251152f-951e-41b3-b559-66e21c8fa37a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb251152f-951e-41b3-b559-66e21c8fa37a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:11.563767894Z"}]},"request_id":"b709e1ed-df85-45fb-b8d2-cb4eb57e5140","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843112.4280486} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7a3a139fca3b4bd8860aef0176da1678","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ad28735d-d96c-497f-a95b-36a224bc2176","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843112.4327073} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"7a3a139fca3b4bd8860aef0176da1678","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb251152f-951e-41b3-b559-66e21c8fa37a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb251152f-951e-41b3-b559-66e21c8fa37a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:11.563767894Z"}]},"request_id":"9b89b5f9-3364-4e02-a042-40315bc5ba80","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843112.4432435} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7a3a139fca3b4bd8860aef0176da1678","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"7a3a139fca3b4bd8860aef0176da1678"} gateway-1 | {"time_local":"28/Apr/2025:12:25:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b251152f-951e-41b3-b559-66e21c8fa37a HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.075","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"7a3a139fca3b4bd8860aef0176da1678"} device-1 | {"level":"info","message":"PATCH /devices/b251152f-951e-41b3-b559-66e21c8fa37a 200 46ms","method":"PATCH","requestID":"7a3a139fca3b4bd8860aef0176da1678","responseTime":46,"status":200,"url":"/devices/b251152f-951e-41b3-b559-66e21c8fa37a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExMn0.tswDq9meBsJXt4vxkAODgk2Xzcp_pKcupxwEymDs_Ww","level":"info","message":"auth send jwt","requestID":"bd234b08f48f4e3e3aac6d18dec1e5ea"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bd234b08f48f4e3e3aac6d18dec1e5ea","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"bd234b08f48f4e3e3aac6d18dec1e5ea"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:12Z"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.799364,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:12Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b251152f-951e-41b3-b559-66e21c8fa37a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bd234b08f48f4e3e3aac6d18dec1e5ea","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/b251152f-951e-41b3-b559-66e21c8fa37a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843112,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExMn0.tswDq9meBsJXt4vxkAODgk2Xzcp_pKcupxwEymDs_Ww"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bd234b08f48f4e3e3aac6d18dec1e5ea","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"bd234b08f48f4e3e3aac6d18dec1e5ea"} device-1 | {"level":"info","message":"POST /devices/b251152f-951e-41b3-b559-66e21c8fa37a/websocket 200 13ms","method":"POST","requestID":"bd234b08f48f4e3e3aac6d18dec1e5ea","responseTime":13,"status":200,"url":"/devices/b251152f-951e-41b3-b559-66e21c8fa37a/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:25:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b251152f-951e-41b3-b559-66e21c8fa37a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.016","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"bd234b08f48f4e3e3aac6d18dec1e5ea"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b251152f-951e-41b3-b559-66e21c8fa37a' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"528a6c27c637f891041ee186d2b82a36","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"528a6c27c637f891041ee186d2b82a36","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:25:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/101a6987-8203-4553-a4e6-3a5fc187d8ee/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":"528a6c27c637f891041ee186d2b82a36"} device-1 | {"level":"info","message":"OPTIONS /devices/101a6987-8203-4553-a4e6-3a5fc187d8ee/websocket 200 1ms","method":"OPTIONS","requestID":"528a6c27c637f891041ee186d2b82a36","responseTime":1,"status":200,"url":"/devices/101a6987-8203-4553-a4e6-3a5fc187d8ee/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExM30.W-ITEiZ6MPfksCSpJlKWFnxzt6GlauASAgK1rdgJtz0","level":"info","message":"auth send jwt","requestID":"085d45fb17310062a48a088242df35b7"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"085d45fb17310062a48a088242df35b7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"085d45fb17310062a48a088242df35b7"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:13Z"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.130155,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/101a6987-8203-4553-a4e6-3a5fc187d8ee","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"085d45fb17310062a48a088242df35b7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/101a6987-8203-4553-a4e6-3a5fc187d8ee","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843113,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExM30.W-ITEiZ6MPfksCSpJlKWFnxzt6GlauASAgK1rdgJtz0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"085d45fb17310062a48a088242df35b7","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"085d45fb17310062a48a088242df35b7"} device-1 | {"level":"info","message":"POST /devices/101a6987-8203-4553-a4e6-3a5fc187d8ee/websocket 200 22ms","method":"POST","requestID":"085d45fb17310062a48a088242df35b7","responseTime":22,"status":200,"url":"/devices/101a6987-8203-4553-a4e6-3a5fc187d8ee/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:25:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/101a6987-8203-4553-a4e6-3a5fc187d8ee/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":"085d45fb17310062a48a088242df35b7"} device-1 | {"level":"info","message":"device 'http://localhost/devices/101a6987-8203-4553-a4e6-3a5fc187d8ee' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExM30.W-ITEiZ6MPfksCSpJlKWFnxzt6GlauASAgK1rdgJtz0","level":"info","message":"auth send jwt","requestID":"d0ef2caff8c6d210ab624778d5b089ea"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d0ef2caff8c6d210ab624778d5b089ea","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d0ef2caff8c6d210ab624778d5b089ea"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:13Z"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.866487,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/101a6987-8203-4553-a4e6-3a5fc187d8ee","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d0ef2caff8c6d210ab624778d5b089ea","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/101a6987-8203-4553-a4e6-3a5fc187d8ee","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843113,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExM30.W-ITEiZ6MPfksCSpJlKWFnxzt6GlauASAgK1rdgJtz0"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"d0ef2caff8c6d210ab624778d5b089ea","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F101a6987-8203-4553-a4e6-3a5fc187d8ee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F101a6987-8203-4553-a4e6-3a5fc187d8ee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:11.521605478Z"}]},"request_id":"421bb82a-6d63-4e11-a5ea-a4360cc56620","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843113.8583171} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d0ef2caff8c6d210ab624778d5b089ea","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d0ef2caff8c6d210ab624778d5b089ea"} gateway-1 | {"time_local":"28/Apr/2025:12:25:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/101a6987-8203-4553-a4e6-3a5fc187d8ee? 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":"d0ef2caff8c6d210ab624778d5b089ea"} device-1 | {"level":"info","message":"GET /devices/101a6987-8203-4553-a4e6-3a5fc187d8ee? 200 12ms","method":"GET","requestID":"d0ef2caff8c6d210ab624778d5b089ea","responseTime":12,"status":200,"url":"/devices/101a6987-8203-4553-a4e6-3a5fc187d8ee?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExM30.W-ITEiZ6MPfksCSpJlKWFnxzt6GlauASAgK1rdgJtz0","level":"info","message":"auth send jwt","requestID":"fae811cc66520c4e53a4650dd5cdf891"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fae811cc66520c4e53a4650dd5cdf891","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fae811cc66520c4e53a4650dd5cdf891"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:13Z"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.060584,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b251152f-951e-41b3-b559-66e21c8fa37a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"fae811cc66520c4e53a4650dd5cdf891","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/b251152f-951e-41b3-b559-66e21c8fa37a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843113,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExM30.W-ITEiZ6MPfksCSpJlKWFnxzt6GlauASAgK1rdgJtz0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fae811cc66520c4e53a4650dd5cdf891","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb251152f-951e-41b3-b559-66e21c8fa37a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb251152f-951e-41b3-b559-66e21c8fa37a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:11.563767894Z"}]},"request_id":"fd387546-dec3-4d09-8b05-ea6dc72068c6","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843113.877102} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"fae811cc66520c4e53a4650dd5cdf891","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fae811cc66520c4e53a4650dd5cdf891"} gateway-1 | {"time_local":"28/Apr/2025:12:25:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b251152f-951e-41b3-b559-66e21c8fa37a? 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":"fae811cc66520c4e53a4650dd5cdf891"} device-1 | {"level":"info","message":"GET /devices/b251152f-951e-41b3-b559-66e21c8fa37a? 200 16ms","method":"GET","requestID":"fae811cc66520c4e53a4650dd5cdf891","responseTime":16,"status":200,"url":"/devices/b251152f-951e-41b3-b559-66e21c8fa37a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExM30.W-ITEiZ6MPfksCSpJlKWFnxzt6GlauASAgK1rdgJtz0","level":"info","message":"auth send jwt","requestID":"c189f04d7d7f4bdc01736c8e06709f59"} authentication-1 | {"level":"info","message":"GET /auth 200 23ms","method":"GET","requestID":"c189f04d7d7f4bdc01736c8e06709f59","responseTime":23,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"c189f04d7d7f4bdc01736c8e06709f59"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:13Z"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.7787,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c189f04d7d7f4bdc01736c8e06709f59","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843113,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExM30.W-ITEiZ6MPfksCSpJlKWFnxzt6GlauASAgK1rdgJtz0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c189f04d7d7f4bdc01736c8e06709f59","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/051ebd0f-a2fe-44eb-a4f5-fca314d04790"},"level":"info","message":"Attempting to run experiment","requestID":"c189f04d7d7f4bdc01736c8e06709f59"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/051ebd0f-a2fe-44eb-a4f5-fca314d04790"},"level":"info","message":"Attempting to book experiment","requestID":"c189f04d7d7f4bdc01736c8e06709f59"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/051ebd0f-a2fe-44eb-a4f5-fca314d04790"},"level":"info","message":"Successfully booked experiment","requestID":"c189f04d7d7f4bdc01736c8e06709f59"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d5eb0bb0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d5eb59d0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:13Z"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.678562,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/101a6987-8203-4553-a4e6-3a5fc187d8ee","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d5eb0bb0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/101a6987-8203-4553-a4e6-3a5fc187d8ee","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843113,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExM30.W-ITEiZ6MPfksCSpJlKWFnxzt6GlauASAgK1rdgJtz0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d5eb0bb0-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.771966,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b251152f-951e-41b3-b559-66e21c8fa37a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d5eb59d0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/b251152f-951e-41b3-b559-66e21c8fa37a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843113,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExM30.W-ITEiZ6MPfksCSpJlKWFnxzt6GlauASAgK1rdgJtz0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d5eb59d0-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F101a6987-8203-4553-a4e6-3a5fc187d8ee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F101a6987-8203-4553-a4e6-3a5fc187d8ee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:11.521605478Z"}]},"request_id":"0c01915d-aa6a-4bc4-9edd-b9152ffc13fb","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843113.9707556} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d5eb0bb0-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb251152f-951e-41b3-b559-66e21c8fa37a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb251152f-951e-41b3-b559-66e21c8fa37a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:11.563767894Z"}]},"request_id":"817ec044-f0b4-43e9-8a90-0787e3997272","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843113.971752} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d5eb59d0-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d5eb0bb0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/101a6987-8203-4553-a4e6-3a5fc187d8ee? 200 13ms","method":"GET","requestID":"d5eb0bb0-242b-11f0-a4ab-3996a0934271","responseTime":13,"status":200,"url":"/devices/101a6987-8203-4553-a4e6-3a5fc187d8ee?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d5eb59d0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/b251152f-951e-41b3-b559-66e21c8fa37a? 200 36ms","method":"GET","requestID":"d5eb59d0-242b-11f0-a4ab-3996a0934271","responseTime":36,"status":200,"url":"/devices/b251152f-951e-41b3-b559-66e21c8fa37a?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/051ebd0f-a2fe-44eb-a4f5-fca314d04790"},"level":"info","message":"Setting up experiment","requestID":"c189f04d7d7f4bdc01736c8e06709f59"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/051ebd0f-a2fe-44eb-a4f5-fca314d04790"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"c189f04d7d7f4bdc01736c8e06709f59"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/051ebd0f-a2fe-44eb-a4f5-fca314d04790"},"level":"info","message":"Successfully locked booking for experiment","requestID":"c189f04d7d7f4bdc01736c8e06709f59"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/051ebd0f-a2fe-44eb-a4f5-fca314d04790"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"c189f04d7d7f4bdc01736c8e06709f59"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/051ebd0f-a2fe-44eb-a4f5-fca314d04790"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"c189f04d7d7f4bdc01736c8e06709f59"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/051ebd0f-a2fe-44eb-a4f5-fca314d04790"},"level":"info","message":"Attempting to update booking for experiment","requestID":"c189f04d7d7f4bdc01736c8e06709f59"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/051ebd0f-a2fe-44eb-a4f5-fca314d04790"},"level":"info","message":"Successfully updated booking for experiment","requestID":"c189f04d7d7f4bdc01736c8e06709f59"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/051ebd0f-a2fe-44eb-a4f5-fca314d04790"},"level":"info","message":"Successfully set up experiment","requestID":"c189f04d7d7f4bdc01736c8e06709f59"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d5fa4df0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d5fa7500-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d5fa9c10-242b-11f0-a4ab-3996a0934271"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/051ebd0f-a2fe-44eb-a4f5-fca314d04790"},"level":"info","message":"Successfully running experiment","requestID":"c189f04d7d7f4bdc01736c8e06709f59"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:14Z"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:14Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.070049,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/101a6987-8203-4553-a4e6-3a5fc187d8ee","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d5fa4df0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/101a6987-8203-4553-a4e6-3a5fc187d8ee","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843113,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExM30.W-ITEiZ6MPfksCSpJlKWFnxzt6GlauASAgK1rdgJtz0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d5fa4df0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.836764,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b251152f-951e-41b3-b559-66e21c8fa37a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d5fa7500-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/b251152f-951e-41b3-b559-66e21c8fa37a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843113,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExM30.W-ITEiZ6MPfksCSpJlKWFnxzt6GlauASAgK1rdgJtz0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d5fa7500-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43930","level":"info","msg":"Received request.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:14Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F101a6987-8203-4553-a4e6-3a5fc187d8ee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F101a6987-8203-4553-a4e6-3a5fc187d8ee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:11.521605478Z"}]},"request_id":"0e60e454-42e0-4453-9554-b662465e1cf4","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843114.07265} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d5fa4df0-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb251152f-951e-41b3-b559-66e21c8fa37a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb251152f-951e-41b3-b559-66e21c8fa37a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:11.563767894Z"}]},"request_id":"60adba8d-6e78-443f-bb7c-65ac0b8dd136","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843114.0735657} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d5fa7500-242b-11f0-a4ab-3996a0934271","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d5fa4df0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/101a6987-8203-4553-a4e6-3a5fc187d8ee? 200 14ms","method":"GET","requestID":"d5fa4df0-242b-11f0-a4ab-3996a0934271","responseTime":14,"status":200,"url":"/devices/101a6987-8203-4553-a4e6-3a5fc187d8ee?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d5fa7500-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/b251152f-951e-41b3-b559-66e21c8fa37a? 200 14ms","method":"GET","requestID":"d5fa7500-242b-11f0-a4ab-3996a0934271","responseTime":14,"status":200,"url":"/devices/b251152f-951e-41b3-b559-66e21c8fa37a?"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F051ebd0f-a2fe-44eb-a4f5-fca314d04790#owner@http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F051ebd0f-a2fe-44eb-a4f5-fca314d04790","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"aa41bad2-a11c-494a-8fc3-3a6c8b1955d3","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843114.078318} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d9f2644f-0576-425b-a552-bce45210bfa0","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843114.0786753} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"c189f04d7d7f4bdc01736c8e06709f59","responseTime":10,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d5fce600-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:14Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F101a6987-8203-4553-a4e6-3a5fc187d8ee","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"15870cd4-1915-49b0-bb64-ea7c80df6324","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843114.0846632} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.960648,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:14Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/051ebd0f-a2fe-44eb-a4f5-fca314d04790","user":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"c189f04d7d7f4bdc01736c8e06709f59"} gateway-1 | {"time_local":"28/Apr/2025:12:25:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.202","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c189f04d7d7f4bdc01736c8e06709f59"} experiment-1 | {"level":"info","message":"POST /experiments? 201 178ms","method":"POST","requestID":"c189f04d7d7f4bdc01736c8e06709f59","responseTime":178,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/101a6987-8203-4553-a4e6-3a5fc187d8ee","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d5fce600-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/101a6987-8203-4553-a4e6-3a5fc187d8ee","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d5fce600-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d5fce600-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/101a6987-8203-4553-a4e6-3a5fc187d8ee/signaling 200 9ms","method":"POST","requestID":"d5fce600-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/101a6987-8203-4553-a4e6-3a5fc187d8ee/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExNH0.FCaK_LXAIkVKSps7GhHW63cev3IesT8GPf_wlTuHPZk","level":"info","message":"auth send jwt","requestID":"12f3fb54b6b1fedaefb63438394764ad"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"12f3fb54b6b1fedaefb63438394764ad","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"12f3fb54b6b1fedaefb63438394764ad"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d5fe93b0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Received request.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:14Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:14Z"} authorization-1 | {"client_addr":"127.0.0.1:34914","level":"info","msg":"Sent response.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.730064,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/101a6987-8203-4553-a4e6-3a5fc187d8ee","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"12f3fb54b6b1fedaefb63438394764ad","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/101a6987-8203-4553-a4e6-3a5fc187d8ee","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843114,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExNH0.FCaK_LXAIkVKSps7GhHW63cev3IesT8GPf_wlTuHPZk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"12f3fb54b6b1fedaefb63438394764ad","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb251152f-951e-41b3-b559-66e21c8fa37a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"43a9b02f-2d00-4c50-bd2b-5c4774f32b98","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843114.0955772} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F101a6987-8203-4553-a4e6-3a5fc187d8ee","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0daa84a9-4d54-40f7-9f49-0cf1296e18f8","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843114.0956068} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.200354,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:14Z"} authorization-1 | {"client_addr":"127.0.0.1:43930","level":"info","msg":"Sent response.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":23.953169,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b251152f-951e-41b3-b559-66e21c8fa37a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d5fe93b0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b251152f-951e-41b3-b559-66e21c8fa37a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d5fe93b0-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/101a6987-8203-4553-a4e6-3a5fc187d8ee","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d5fa9c10-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/101a6987-8203-4553-a4e6-3a5fc187d8ee","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"d5fa9c10-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F101a6987-8203-4553-a4e6-3a5fc187d8ee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F101a6987-8203-4553-a4e6-3a5fc187d8ee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:11.521605478Z"}]},"request_id":"6916025e-642b-4bf7-9c1c-5346e180947e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843114.0972037} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"12f3fb54b6b1fedaefb63438394764ad","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d5fe93b0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/b251152f-951e-41b3-b559-66e21c8fa37a/signaling 200 11ms","method":"POST","requestID":"d5fe93b0-242b-11f0-a4ab-3996a0934271","responseTime":11,"status":200,"url":"/devices/b251152f-951e-41b3-b559-66e21c8fa37a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d5fa9c10-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/101a6987-8203-4553-a4e6-3a5fc187d8ee/signaling 200 38ms","method":"POST","requestID":"d5fa9c10-242b-11f0-a4ab-3996a0934271","responseTime":38,"status":200,"url":"/devices/101a6987-8203-4553-a4e6-3a5fc187d8ee/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/051ebd0f-a2fe-44eb-a4f5-fca314d04790"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"c189f04d7d7f4bdc01736c8e06709f59"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/051ebd0f-a2fe-44eb-a4f5-fca314d04790"},"level":"info","message":"Building connection plan","requestID":"c189f04d7d7f4bdc01736c8e06709f59"} 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":"0a230d0d-9807-4071-b290-12b5f2bcf200"},{"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":"9a3eaa25-f8fd-419f-bc78-7d1f99fd7617"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"3b71b588-df44-4e34-bb59-c8dfeae49f0d"}]},"level":"info","message":"Built pairwise service configurations","requestID":"c189f04d7d7f4bdc01736c8e06709f59"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"12f3fb54b6b1fedaefb63438394764ad"} 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/b251152f-951e-41b3-b559-66e21c8fa37a"},{"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/101a6987-8203-4553-a4e6-3a5fc187d8ee"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"c189f04d7d7f4bdc01736c8e06709f59"} gateway-1 | {"time_local":"28/Apr/2025:12:25:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/101a6987-8203-4553-a4e6-3a5fc187d8ee? 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":"12f3fb54b6b1fedaefb63438394764ad"} device-1 | {"level":"info","message":"GET /devices/101a6987-8203-4553-a4e6-3a5fc187d8ee? 200 14ms","method":"GET","requestID":"12f3fb54b6b1fedaefb63438394764ad","responseTime":14,"status":200,"url":"/devices/101a6987-8203-4553-a4e6-3a5fc187d8ee?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"d6008f80-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d600dda0-242b-11f0-a4ab-3996a0934271"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExNH0.FCaK_LXAIkVKSps7GhHW63cev3IesT8GPf_wlTuHPZk","level":"info","message":"auth send jwt","requestID":"12594e926e0b49f835399ec7eebd42a1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"12594e926e0b49f835399ec7eebd42a1","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:43930","level":"info","msg":"Received request.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:14Z"} authorization-1 | {"client_addr":"127.0.0.1:43930","level":"info","msg":"Sent response.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.689755,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:14Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"12594e926e0b49f835399ec7eebd42a1"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d6008f80-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843113,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExM30.W-ITEiZ6MPfksCSpJlKWFnxzt6GlauASAgK1rdgJtz0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d6008f80-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:14Z"} authorization-1 | {"client_addr":"127.0.0.1:43930","level":"info","msg":"Received request.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:14Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb251152f-951e-41b3-b559-66e21c8fa37a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2c03a97e-3e01-4de9-984d-dc84237be678","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843114.1103497} authorization-1 | {"client_addr":"127.0.0.1:43930","level":"info","msg":"Sent response.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.768647,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:14Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.762534,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b251152f-951e-41b3-b559-66e21c8fa37a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"12594e926e0b49f835399ec7eebd42a1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/b251152f-951e-41b3-b559-66e21c8fa37a","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843114,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExNH0.FCaK_LXAIkVKSps7GhHW63cev3IesT8GPf_wlTuHPZk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"12594e926e0b49f835399ec7eebd42a1","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b251152f-951e-41b3-b559-66e21c8fa37a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d600dda0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b251152f-951e-41b3-b559-66e21c8fa37a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d600dda0-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb251152f-951e-41b3-b559-66e21c8fa37a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb251152f-951e-41b3-b559-66e21c8fa37a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:11.563767894Z"}]},"request_id":"ef9da0fd-d1f3-4f4d-964c-646c0800e6e9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843114.1155643} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"12594e926e0b49f835399ec7eebd42a1","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","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%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"06984c3b-4ecd-489d-9c46-e3d6979650c8","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843114.1191216} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"329b945f-9048-4c5a-8bf8-a3f486eb1692","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843114.1198359} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"d6008f80-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d600dda0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/b251152f-951e-41b3-b559-66e21c8fa37a/signaling 200 15ms","method":"POST","requestID":"d600dda0-242b-11f0-a4ab-3996a0934271","responseTime":15,"status":200,"url":"/devices/b251152f-951e-41b3-b559-66e21c8fa37a/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"12594e926e0b49f835399ec7eebd42a1"} device-1 | {"level":"info","message":"GET /devices/b251152f-951e-41b3-b559-66e21c8fa37a? 200 14ms","method":"GET","requestID":"12594e926e0b49f835399ec7eebd42a1","responseTime":14,"status":200,"url":"/devices/b251152f-951e-41b3-b559-66e21c8fa37a?"} gateway-1 | {"time_local":"28/Apr/2025:12:25:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b251152f-951e-41b3-b559-66e21c8fa37a? 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":"12594e926e0b49f835399ec7eebd42a1"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"d6008f80-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"d6008f80-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/de111f61-78d0-4d4d-9b9f-1fe6116a16aa'","requestID":"d6008f80-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/de111f61-78d0-4d4d-9b9f-1fe6116a16aa'","requestID":"d6008f80-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"d6008f80-242b-11f0-a4ab-3996a0934271"} 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":"d6008f80-242b-11f0-a4ab-3996a0934271","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":"d6008f80-242b-11f0-a4ab-3996a0934271"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/de111f61-78d0-4d4d-9b9f-1fe6116a16aa","device":"101a6987-8203-4553-a4e6-3a5fc187d8ee","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/051ebd0f-a2fe-44eb-a4f5-fca314d04790"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"c189f04d7d7f4bdc01736c8e06709f59"} device-1 | {"device":"101a6987-8203-4553-a4e6-3a5fc187d8ee","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"101a6987-8203-4553-a4e6-3a5fc187d8ee","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 6492505383754596296 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:u+tG\r\na=ice-pwd:LfOkbum0vfSERBVnTCAbP/HZ\r\na=ice-options:trickle\r\na=fingerprint:sha-256 CA:80:0F:E8:FA:6A:BE:3D:1C:1F:D7:DE:1D:CF:A1:D8:CE:60:EC:E2:7D:D0:3C:77:0A:D6:7F:CE:E5:DA:3E:CB\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"101a6987-8203-4553-a4e6-3a5fc187d8ee","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d60d87d0-242b-11f0-a4ab-3996a0934271"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/101a6987-8203-4553-a4e6-3a5fc187d8ee'"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:14Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F101a6987-8203-4553-a4e6-3a5fc187d8ee","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"980da964-f68c-40a4-b69c-8370e692910b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843114.1943686} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.006555,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/101a6987-8203-4553-a4e6-3a5fc187d8ee","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d60d87d0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/101a6987-8203-4553-a4e6-3a5fc187d8ee","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d60d87d0-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d60d87d0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/101a6987-8203-4553-a4e6-3a5fc187d8ee/signaling 200 9ms","method":"POST","requestID":"d60d87d0-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/101a6987-8203-4553-a4e6-3a5fc187d8ee/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d60f3580-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:14Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb251152f-951e-41b3-b559-66e21c8fa37a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"265d417e-a9af-411a-a403-e0fd9356830f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843114.2036016} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.296534,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b251152f-951e-41b3-b559-66e21c8fa37a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d60f3580-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b251152f-951e-41b3-b559-66e21c8fa37a","object_type":"device","rebac_allow":false,"scope_allow":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":"d60f3580-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d60f3580-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/b251152f-951e-41b3-b559-66e21c8fa37a/signaling 200 7ms","method":"POST","requestID":"d60f3580-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/devices/b251152f-951e-41b3-b559-66e21c8fa37a/signaling"} device-1 | {"device":"101a6987-8203-4553-a4e6-3a5fc187d8ee","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"b251152f-951e-41b3-b559-66e21c8fa37a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"de111f61-78d0-4d4d-9b9f-1fe6116a16aa","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"b251152f-951e-41b3-b559-66e21c8fa37a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b251152f-951e-41b3-b559-66e21c8fa37a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b251152f-951e-41b3-b559-66e21c8fa37a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b251152f-951e-41b3-b559-66e21c8fa37a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/de111f61-78d0-4d4d-9b9f-1fe6116a16aa' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"de111f61-78d0-4d4d-9b9f-1fe6116a16aa","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"93b025589365730aac08e2667410757c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"93b025589365730aac08e2667410757c","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/b251152f-951e-41b3-b559-66e21c8fa37a"},{"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/101a6987-8203-4553-a4e6-3a5fc187d8ee"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/de111f61-78d0-4d4d-9b9f-1fe6116a16aa"}}},"level":"info","message":"received a callback","requestID":"93b025589365730aac08e2667410757c"} device-1 | {"content":{"candidate":"candidate:2080536551 1 udp 2113937151 46f6b991-c16f-476e-b582-3ad99d511604.local 50728 typ host generation 0 ufrag u+tG network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"101a6987-8203-4553-a4e6-3a5fc187d8ee","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"93b025589365730aac08e2667410757c","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25: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.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"93b025589365730aac08e2667410757c"} device-1 | {"device":"101a6987-8203-4553-a4e6-3a5fc187d8ee","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"peerconnection":"de111f61-78d0-4d4d-9b9f-1fe6116a16aa","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"b251152f-951e-41b3-b559-66e21c8fa37a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"101a6987-8203-4553-a4e6-3a5fc187d8ee","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"b251152f-951e-41b3-b559-66e21c8fa37a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"de111f61-78d0-4d4d-9b9f-1fe6116a16aa","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/de111f61-78d0-4d4d-9b9f-1fe6116a16aa' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"de111f61-78d0-4d4d-9b9f-1fe6116a16aa","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6e57c9ca0ec5ae5d2071efc9cf4112f2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6e57c9ca0ec5ae5d2071efc9cf4112f2","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/b251152f-951e-41b3-b559-66e21c8fa37a"},{"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/101a6987-8203-4553-a4e6-3a5fc187d8ee"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/de111f61-78d0-4d4d-9b9f-1fe6116a16aa"}}},"level":"info","message":"received a callback","requestID":"6e57c9ca0ec5ae5d2071efc9cf4112f2"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"d74125d0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:16Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fde111f61-78d0-4d4d-9b9f-1fe6116a16aa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"de7d6d78-6d72-437b-827f-1ca227216aef","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843116.2087052} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.152749,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/de111f61-78d0-4d4d-9b9f-1fe6116a16aa","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d74125d0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/de111f61-78d0-4d4d-9b9f-1fe6116a16aa","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":"d74125d0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"d74125d0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /peerconnections/de111f61-78d0-4d4d-9b9f-1fe6116a16aa 200 7ms","method":"GET","requestID":"d74125d0-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/peerconnections/de111f61-78d0-4d4d-9b9f-1fe6116a16aa"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 24ms","method":"POST","requestID":"6e57c9ca0ec5ae5d2071efc9cf4112f2","responseTime":24,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25: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.026","http_referrer":"","http_user_agent":"node-fetch","requestID":"6e57c9ca0ec5ae5d2071efc9cf4112f2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d7443310-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:16Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb251152f-951e-41b3-b559-66e21c8fa37a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"64c79ac6-87b7-4f9c-913f-d6496dc71e60","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843116.2293756} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.260393,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b251152f-951e-41b3-b559-66e21c8fa37a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d7443310-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b251152f-951e-41b3-b559-66e21c8fa37a","object_type":"device","rebac_allow":false,"scope_allow":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":"d7443310-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d7443310-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/b251152f-951e-41b3-b559-66e21c8fa37a/signaling 200 8ms","method":"POST","requestID":"d7443310-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/b251152f-951e-41b3-b559-66e21c8fa37a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d74592a0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:16Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F101a6987-8203-4553-a4e6-3a5fc187d8ee","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"da9a23e8-4120-49f7-8562-9b2144137405","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843116.238846} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.260648,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/101a6987-8203-4553-a4e6-3a5fc187d8ee","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d74592a0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/101a6987-8203-4553-a4e6-3a5fc187d8ee","object_type":"device","rebac_allow":false,"scope_allow":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":"d74592a0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d74592a0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/101a6987-8203-4553-a4e6-3a5fc187d8ee/signaling 200 9ms","method":"POST","requestID":"d74592a0-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/101a6987-8203-4553-a4e6-3a5fc187d8ee/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExNn0.cOFrp1msCq8DeqexfE65cW0qoNBdd7r7-PYvcOfPmzI","level":"info","message":"auth send jwt","requestID":"e25123a698d260ac7cb153003ce29e31"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e25123a698d260ac7cb153003ce29e31","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/051ebd0f-a2fe-44eb-a4f5-fca314d04790","requestID":"e25123a698d260ac7cb153003ce29e31"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:16Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.638014,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/051ebd0f-a2fe-44eb-a4f5-fca314d04790","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e25123a698d260ac7cb153003ce29e31","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/051ebd0f-a2fe-44eb-a4f5-fca314d04790","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843116,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExNn0.cOFrp1msCq8DeqexfE65cW0qoNBdd7r7-PYvcOfPmzI"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"e25123a698d260ac7cb153003ce29e31","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/051ebd0f-a2fe-44eb-a4f5-fca314d04790","requestID":"e25123a698d260ac7cb153003ce29e31"} gateway-1 | {"time_local":"28/Apr/2025:12:25:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/051ebd0f-a2fe-44eb-a4f5-fca314d04790 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e25123a698d260ac7cb153003ce29e31"} experiment-1 | {"level":"info","message":"GET /experiments/051ebd0f-a2fe-44eb-a4f5-fca314d04790 200 9ms","method":"GET","requestID":"e25123a698d260ac7cb153003ce29e31","responseTime":9,"status":200,"url":"/experiments/051ebd0f-a2fe-44eb-a4f5-fca314d04790"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExNn0.cOFrp1msCq8DeqexfE65cW0qoNBdd7r7-PYvcOfPmzI","level":"info","message":"auth send jwt","requestID":"b63384b4dab0621eb41846ba2380606b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b63384b4dab0621eb41846ba2380606b","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/051ebd0f-a2fe-44eb-a4f5-fca314d04790","requestID":"b63384b4dab0621eb41846ba2380606b"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:16Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.669898,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:16Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/051ebd0f-a2fe-44eb-a4f5-fca314d04790","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b63384b4dab0621eb41846ba2380606b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/051ebd0f-a2fe-44eb-a4f5-fca314d04790","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843116,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExNn0.cOFrp1msCq8DeqexfE65cW0qoNBdd7r7-PYvcOfPmzI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b63384b4dab0621eb41846ba2380606b","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/051ebd0f-a2fe-44eb-a4f5-fca314d04790"},"level":"info","message":"Attempting to finish experiment","requestID":"b63384b4dab0621eb41846ba2380606b"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"d7523cd0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:16Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.34653,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:16Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/de111f61-78d0-4d4d-9b9f-1fe6116a16aa","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d7523cd0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:http://localhost/peerconnections/de111f61-78d0-4d4d-9b9f-1fe6116a16aa","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843116,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExNn0.cOFrp1msCq8DeqexfE65cW0qoNBdd7r7-PYvcOfPmzI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d7523cd0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/de111f61-78d0-4d4d-9b9f-1fe6116a16aa","device":"101a6987-8203-4553-a4e6-3a5fc187d8ee","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"b251152f-951e-41b3-b559-66e21c8fa37a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b251152f-951e-41b3-b559-66e21c8fa37a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b251152f-951e-41b3-b559-66e21c8fa37a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/de111f61-78d0-4d4d-9b9f-1fe6116a16aa' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/de111f61-78d0-4d4d-9b9f-1fe6116a16aa' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"de111f61-78d0-4d4d-9b9f-1fe6116a16aa","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fde111f61-78d0-4d4d-9b9f-1fe6116a16aa': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fde111f61-78d0-4d4d-9b9f-1fe6116a16aa","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"bf8f3b0d-a484-41cd-8b0f-75b2873b72e3","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843116.35752} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3351df4e-cd80-404d-8461-f63604b521d1","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843116.3577933} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"76230904505c821e5cf0e067a3e933c2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"76230904505c821e5cf0e067a3e933c2","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 31ms","method":"POST","requestID":"d7523cd0-242b-11f0-a4ab-3996a0934271","responseTime":31,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d837ac0b0c9d45018c51434042c6aca2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d837ac0b0c9d45018c51434042c6aca2","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/b251152f-951e-41b3-b559-66e21c8fa37a"},{"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/101a6987-8203-4553-a4e6-3a5fc187d8ee"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/de111f61-78d0-4d4d-9b9f-1fe6116a16aa"}}},"level":"info","message":"received a callback","requestID":"76230904505c821e5cf0e067a3e933c2"} 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/b251152f-951e-41b3-b559-66e21c8fa37a"},{"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/101a6987-8203-4553-a4e6-3a5fc187d8ee"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/de111f61-78d0-4d4d-9b9f-1fe6116a16aa"}}},"level":"info","message":"received a callback","requestID":"d837ac0b0c9d45018c51434042c6aca2"} device-1 | {"data":{"peerconnection":"de111f61-78d0-4d4d-9b9f-1fe6116a16aa","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"d7523cd0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"DELETE /peerconnections/de111f61-78d0-4d4d-9b9f-1fe6116a16aa 204 57ms","method":"DELETE","requestID":"d7523cd0-242b-11f0-a4ab-3996a0934271","responseTime":57,"status":204,"url":"/peerconnections/de111f61-78d0-4d4d-9b9f-1fe6116a16aa"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/051ebd0f-a2fe-44eb-a4f5-fca314d04790"},"level":"info","message":"Successfully finished experiment","requestID":"b63384b4dab0621eb41846ba2380606b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d760e2d0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:16Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb251152f-951e-41b3-b559-66e21c8fa37a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"85787818-34a0-4353-9337-0a0d5021707d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843116.417954} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.830221,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b251152f-951e-41b3-b559-66e21c8fa37a","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d760e2d0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b251152f-951e-41b3-b559-66e21c8fa37a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d760e2d0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d760e2d0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/b251152f-951e-41b3-b559-66e21c8fa37a/signaling 200 9ms","method":"POST","requestID":"d760e2d0-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/b251152f-951e-41b3-b559-66e21c8fa37a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d7626970-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F051ebd0f-a2fe-44eb-a4f5-fca314d04790': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F051ebd0f-a2fe-44eb-a4f5-fca314d04790","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"e4b218dc-6320-40c4-8bc9-51a1f96869ce","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843116.4498484} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fabb1bdf-0b9a-4b4a-826e-dd62419cfbf3","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843116.4500325} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:16Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"b63384b4dab0621eb41846ba2380606b","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F101a6987-8203-4553-a4e6-3a5fc187d8ee","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fc251b9e-66fb-46ce-9e64-89a2db01debb","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843116.452074} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.3043,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/101a6987-8203-4553-a4e6-3a5fc187d8ee","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d7626970-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/101a6987-8203-4553-a4e6-3a5fc187d8ee","object_type":"device","rebac_allow":false,"scope_allow":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":"d7626970-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d7626970-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/101a6987-8203-4553-a4e6-3a5fc187d8ee/signaling 200 32ms","method":"POST","requestID":"d7626970-242b-11f0-a4ab-3996a0934271","responseTime":32,"status":200,"url":"/devices/101a6987-8203-4553-a4e6-3a5fc187d8ee/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/051ebd0f-a2fe-44eb-a4f5-fca314d04790","requestID":"b63384b4dab0621eb41846ba2380606b"} gateway-1 | {"time_local":"28/Apr/2025:12:25:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/051ebd0f-a2fe-44eb-a4f5-fca314d04790 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.240","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b63384b4dab0621eb41846ba2380606b"} experiment-1 | {"level":"info","message":"DELETE /experiments/051ebd0f-a2fe-44eb-a4f5-fca314d04790 204 238ms","method":"DELETE","requestID":"b63384b4dab0621eb41846ba2380606b","responseTime":238,"status":204,"url":"/experiments/051ebd0f-a2fe-44eb-a4f5-fca314d04790"} gateway-1 | {"time_local":"28/Apr/2025:12:25:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2540","request_time":"4.062","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"e19e7157329a5b02a7cb9c84d7e1f153"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 189ms","method":"POST","requestID":"76230904505c821e5cf0e067a3e933c2","responseTime":189,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25: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.191","http_referrer":"","http_user_agent":"node-fetch","requestID":"76230904505c821e5cf0e067a3e933c2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 189ms","method":"POST","requestID":"d837ac0b0c9d45018c51434042c6aca2","responseTime":189,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25: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.192","http_referrer":"","http_user_agent":"node-fetch","requestID":"d837ac0b0c9d45018c51434042c6aca2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExNn0.cOFrp1msCq8DeqexfE65cW0qoNBdd7r7-PYvcOfPmzI","level":"info","message":"auth send jwt","requestID":"4fb33ebfbcb96804753f89a99b384bae"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4fb33ebfbcb96804753f89a99b384bae","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"4fb33ebfbcb96804753f89a99b384bae"} gateway-1 | {"time_local":"28/Apr/2025:12:25:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2746","request_time":"2.723","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"6a6a65d5cfcd04edb4e9a19a45200561"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:16Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.052232,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"4fb33ebfbcb96804753f89a99b384bae","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843116,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExNn0.cOFrp1msCq8DeqexfE65cW0qoNBdd7r7-PYvcOfPmzI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4fb33ebfbcb96804753f89a99b384bae","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/b251152f-951e-41b3-b559-66e21c8fa37a' 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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97868d62-af8e-49ce-a0ca-78da58e63dec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2107a1ab-2979-4768-89c2-37e8d804b4c0","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843116.596683} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4fb33ebfbcb96804753f89a99b384bae","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"359c63a6-9b66-4930-b03d-dd23ac63dcf4","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843116.6014268} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"4fb33ebfbcb96804753f89a99b384bae","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/101a6987-8203-4553-a4e6-3a5fc187d8ee' closed"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97868d62-af8e-49ce-a0ca-78da58e63dec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"990bd086-354b-4b59-95d9-8e8486c82039","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843116.6121767} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"40da3b8f-6c2d-495f-960b-332782472fe9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843116.6124418} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"4fb33ebfbcb96804753f89a99b384bae","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97868d62-af8e-49ce-a0ca-78da58e63dec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97868d62-af8e-49ce-a0ca-78da58e63dec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:16.612152993Z"}]},"request_id":"b8f98eea-0c44-4dd1-9931-85476a589b37","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843116.6161032} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"4fb33ebfbcb96804753f89a99b384bae","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"4fb33ebfbcb96804753f89a99b384bae"} device-1 | {"level":"info","message":"POST /devices? 201 89ms","method":"POST","requestID":"4fb33ebfbcb96804753f89a99b384bae","responseTime":89,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:25:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.095","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4fb33ebfbcb96804753f89a99b384bae"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExNn0.cOFrp1msCq8DeqexfE65cW0qoNBdd7r7-PYvcOfPmzI","level":"info","message":"auth send jwt","requestID":"56709256b1123c78d53076a1ebe2f8fb"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"56709256b1123c78d53076a1ebe2f8fb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"56709256b1123c78d53076a1ebe2f8fb"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:16Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.873674,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"56709256b1123c78d53076a1ebe2f8fb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843116,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExNn0.cOFrp1msCq8DeqexfE65cW0qoNBdd7r7-PYvcOfPmzI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"56709256b1123c78d53076a1ebe2f8fb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfbaa6f5-76de-4c51-be53-9497de9eb9b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9baf144c-b07a-446b-8d4c-d4a0713a9662","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843116.6634028} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"56709256b1123c78d53076a1ebe2f8fb","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"28bb3862-7fe6-413a-b4ae-1795fd75c725","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843116.6916919} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"56709256b1123c78d53076a1ebe2f8fb","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfbaa6f5-76de-4c51-be53-9497de9eb9b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"cc2cdbb1-e45b-4f57-9bd8-096475b92511","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843116.7006197} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"55deccc6-f436-403b-ae04-c093ffef4fd9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843116.7008963} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"56709256b1123c78d53076a1ebe2f8fb","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfbaa6f5-76de-4c51-be53-9497de9eb9b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfbaa6f5-76de-4c51-be53-9497de9eb9b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:16.700588728Z"}]},"request_id":"34dee610-0aa3-44f2-8142-6b3b2dbd55ba","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843116.7046351} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"56709256b1123c78d53076a1ebe2f8fb","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"56709256b1123c78d53076a1ebe2f8fb"} gateway-1 | {"time_local":"28/Apr/2025:12:25:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"56709256b1123c78d53076a1ebe2f8fb"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"56709256b1123c78d53076a1ebe2f8fb","responseTime":58,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExN30.2QtNflAZajVxSKP-fknw7eAx-5fHTJiNnLc0iwoNF2s","level":"info","message":"auth send jwt","requestID":"1b87503dc7de6b9278108c486e513d1f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1b87503dc7de6b9278108c486e513d1f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"1b87503dc7de6b9278108c486e513d1f"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:17Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.677461,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/97868d62-af8e-49ce-a0ca-78da58e63dec","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"1b87503dc7de6b9278108c486e513d1f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/97868d62-af8e-49ce-a0ca-78da58e63dec","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843117,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExN30.2QtNflAZajVxSKP-fknw7eAx-5fHTJiNnLc0iwoNF2s"} authorization-1 | {"level":"info","message":"POST /authorize 200 25ms","method":"POST","requestID":"1b87503dc7de6b9278108c486e513d1f","responseTime":25,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97868d62-af8e-49ce-a0ca-78da58e63dec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97868d62-af8e-49ce-a0ca-78da58e63dec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:16.612152993Z"}]},"request_id":"d329bb82-f922-4734-84a9-fc5e3e4af266","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843117.60429} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1b87503dc7de6b9278108c486e513d1f","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2d9e056f-4bdd-44cf-8ad5-3e44dff232aa","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843117.6082976} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"1b87503dc7de6b9278108c486e513d1f","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97868d62-af8e-49ce-a0ca-78da58e63dec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97868d62-af8e-49ce-a0ca-78da58e63dec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:16.612152993Z"}]},"request_id":"83bd8689-b608-4949-81da-5d65253767a7","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843117.6222382} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1b87503dc7de6b9278108c486e513d1f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"1b87503dc7de6b9278108c486e513d1f"} gateway-1 | {"time_local":"28/Apr/2025:12:25:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/97868d62-af8e-49ce-a0ca-78da58e63dec HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.054","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"1b87503dc7de6b9278108c486e513d1f"} device-1 | {"level":"info","message":"PATCH /devices/97868d62-af8e-49ce-a0ca-78da58e63dec 200 50ms","method":"PATCH","requestID":"1b87503dc7de6b9278108c486e513d1f","responseTime":50,"status":200,"url":"/devices/97868d62-af8e-49ce-a0ca-78da58e63dec"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExN30.2QtNflAZajVxSKP-fknw7eAx-5fHTJiNnLc0iwoNF2s","level":"info","message":"auth send jwt","requestID":"3d6028a89a7049419ec025aa990d3868"} authentication-1 | {"level":"info","message":"GET /auth 200 22ms","method":"GET","requestID":"3d6028a89a7049419ec025aa990d3868","responseTime":22,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"3d6028a89a7049419ec025aa990d3868"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:17Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.6478,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/97868d62-af8e-49ce-a0ca-78da58e63dec","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"3d6028a89a7049419ec025aa990d3868","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/97868d62-af8e-49ce-a0ca-78da58e63dec","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843117,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExN30.2QtNflAZajVxSKP-fknw7eAx-5fHTJiNnLc0iwoNF2s"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"3d6028a89a7049419ec025aa990d3868","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"3d6028a89a7049419ec025aa990d3868"} gateway-1 | {"time_local":"28/Apr/2025:12:25:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/97868d62-af8e-49ce-a0ca-78da58e63dec/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.036","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"3d6028a89a7049419ec025aa990d3868"} device-1 | {"level":"info","message":"POST /devices/97868d62-af8e-49ce-a0ca-78da58e63dec/websocket 200 12ms","method":"POST","requestID":"3d6028a89a7049419ec025aa990d3868","responseTime":12,"status":200,"url":"/devices/97868d62-af8e-49ce-a0ca-78da58e63dec/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/97868d62-af8e-49ce-a0ca-78da58e63dec' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2e87a89912853591f078af95aaa28124","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2e87a89912853591f078af95aaa28124","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:25:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7/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":"2e87a89912853591f078af95aaa28124"} device-1 | {"level":"info","message":"OPTIONS /devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7/websocket 200 1ms","method":"OPTIONS","requestID":"2e87a89912853591f078af95aaa28124","responseTime":1,"status":200,"url":"/devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExOX0.UiRZkv9McxKutqeD61NQCMYKfswjbbP72emoWe3esGo","level":"info","message":"auth send jwt","requestID":"333b6d60e0f7b26a74df0fb50567bf5b"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"333b6d60e0f7b26a74df0fb50567bf5b","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"333b6d60e0f7b26a74df0fb50567bf5b"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.254018,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:19Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"333b6d60e0f7b26a74df0fb50567bf5b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843119,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExOX0.UiRZkv9McxKutqeD61NQCMYKfswjbbP72emoWe3esGo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"333b6d60e0f7b26a74df0fb50567bf5b","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"333b6d60e0f7b26a74df0fb50567bf5b"} gateway-1 | {"time_local":"28/Apr/2025:12:25:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7/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":"333b6d60e0f7b26a74df0fb50567bf5b"} device-1 | {"level":"info","message":"POST /devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7/websocket 200 18ms","method":"POST","requestID":"333b6d60e0f7b26a74df0fb50567bf5b","responseTime":18,"status":200,"url":"/devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExOX0.UiRZkv9McxKutqeD61NQCMYKfswjbbP72emoWe3esGo","level":"info","message":"auth send jwt","requestID":"87c4d7cb71632a6ff2d1fe51f45cdd9f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"87c4d7cb71632a6ff2d1fe51f45cdd9f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"87c4d7cb71632a6ff2d1fe51f45cdd9f"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.768168,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/97868d62-af8e-49ce-a0ca-78da58e63dec","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"87c4d7cb71632a6ff2d1fe51f45cdd9f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/97868d62-af8e-49ce-a0ca-78da58e63dec","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843119,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExOX0.UiRZkv9McxKutqeD61NQCMYKfswjbbP72emoWe3esGo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"87c4d7cb71632a6ff2d1fe51f45cdd9f","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97868d62-af8e-49ce-a0ca-78da58e63dec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97868d62-af8e-49ce-a0ca-78da58e63dec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:16.612152993Z"}]},"request_id":"57d57fb2-f0a2-4c28-8795-8ee90851128e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843119.0540717} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"87c4d7cb71632a6ff2d1fe51f45cdd9f","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"87c4d7cb71632a6ff2d1fe51f45cdd9f"} gateway-1 | {"time_local":"28/Apr/2025:12:25:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/97868d62-af8e-49ce-a0ca-78da58e63dec? 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":"87c4d7cb71632a6ff2d1fe51f45cdd9f"} device-1 | {"level":"info","message":"GET /devices/97868d62-af8e-49ce-a0ca-78da58e63dec? 200 11ms","method":"GET","requestID":"87c4d7cb71632a6ff2d1fe51f45cdd9f","responseTime":11,"status":200,"url":"/devices/97868d62-af8e-49ce-a0ca-78da58e63dec?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExOX0.UiRZkv9McxKutqeD61NQCMYKfswjbbP72emoWe3esGo","level":"info","message":"auth send jwt","requestID":"0de8768be0a0e2b70100f4bd6e0f0fe9"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0de8768be0a0e2b70100f4bd6e0f0fe9","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0de8768be0a0e2b70100f4bd6e0f0fe9"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.687821,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"0de8768be0a0e2b70100f4bd6e0f0fe9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843119,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExOX0.UiRZkv9McxKutqeD61NQCMYKfswjbbP72emoWe3esGo"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","method":"POST","requestID":"0de8768be0a0e2b70100f4bd6e0f0fe9","responseTime":15,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfbaa6f5-76de-4c51-be53-9497de9eb9b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfbaa6f5-76de-4c51-be53-9497de9eb9b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:16.700588728Z"}]},"request_id":"a16fbd78-482d-4835-b4bb-5b334615d08b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843119.0894127} authorization-1 | {"level":"info","message":"POST /relations/query 200 12ms","method":"POST","requestID":"0de8768be0a0e2b70100f4bd6e0f0fe9","responseTime":12,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0de8768be0a0e2b70100f4bd6e0f0fe9"} gateway-1 | {"time_local":"28/Apr/2025:12:25:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0de8768be0a0e2b70100f4bd6e0f0fe9"} device-1 | {"level":"info","message":"GET /devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7? 200 31ms","method":"GET","requestID":"0de8768be0a0e2b70100f4bd6e0f0fe9","responseTime":31,"status":200,"url":"/devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExOX0.UiRZkv9McxKutqeD61NQCMYKfswjbbP72emoWe3esGo","level":"info","message":"auth send jwt","requestID":"5c5edd353e8dcb4b7ea36eaeadac016f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5c5edd353e8dcb4b7ea36eaeadac016f","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"5c5edd353e8dcb4b7ea36eaeadac016f"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.897557,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"5c5edd353e8dcb4b7ea36eaeadac016f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843119,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExOX0.UiRZkv9McxKutqeD61NQCMYKfswjbbP72emoWe3esGo"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"5c5edd353e8dcb4b7ea36eaeadac016f","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/592fe2fb-e177-4da9-8704-fc7c405f99e4"},"level":"info","message":"Attempting to run experiment","requestID":"5c5edd353e8dcb4b7ea36eaeadac016f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/592fe2fb-e177-4da9-8704-fc7c405f99e4"},"level":"info","message":"Attempting to book experiment","requestID":"5c5edd353e8dcb4b7ea36eaeadac016f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/592fe2fb-e177-4da9-8704-fc7c405f99e4"},"level":"info","message":"Successfully booked experiment","requestID":"5c5edd353e8dcb4b7ea36eaeadac016f"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d902fa10-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d9034830-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.96096,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/97868d62-af8e-49ce-a0ca-78da58e63dec","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d902fa10-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/97868d62-af8e-49ce-a0ca-78da58e63dec","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843119,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExOX0.UiRZkv9McxKutqeD61NQCMYKfswjbbP72emoWe3esGo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d902fa10-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43932","level":"info","msg":"Received request.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:19Z"} authorization-1 | {"client_addr":"127.0.0.1:43932","level":"info","msg":"Sent response.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.851121,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d9034830-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843119,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExOX0.UiRZkv9McxKutqeD61NQCMYKfswjbbP72emoWe3esGo"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"d9034830-242b-11f0-a4ab-3996a0934271","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97868d62-af8e-49ce-a0ca-78da58e63dec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97868d62-af8e-49ce-a0ca-78da58e63dec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:16.612152993Z"}]},"request_id":"0667eedc-cd35-4194-814d-34d3da396d9e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843119.1851292} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"d902fa10-242b-11f0-a4ab-3996a0934271","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfbaa6f5-76de-4c51-be53-9497de9eb9b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfbaa6f5-76de-4c51-be53-9497de9eb9b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:16.700588728Z"}]},"request_id":"5db5e274-7dda-4394-a3db-b9692a0ac3d5","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843119.1880553} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d9034830-242b-11f0-a4ab-3996a0934271","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d902fa10-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/97868d62-af8e-49ce-a0ca-78da58e63dec? 200 38ms","method":"GET","requestID":"d902fa10-242b-11f0-a4ab-3996a0934271","responseTime":38,"status":200,"url":"/devices/97868d62-af8e-49ce-a0ca-78da58e63dec?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d9034830-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7? 200 37ms","method":"GET","requestID":"d9034830-242b-11f0-a4ab-3996a0934271","responseTime":37,"status":200,"url":"/devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/592fe2fb-e177-4da9-8704-fc7c405f99e4"},"level":"info","message":"Setting up experiment","requestID":"5c5edd353e8dcb4b7ea36eaeadac016f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/592fe2fb-e177-4da9-8704-fc7c405f99e4"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"5c5edd353e8dcb4b7ea36eaeadac016f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/592fe2fb-e177-4da9-8704-fc7c405f99e4"},"level":"info","message":"Successfully locked booking for experiment","requestID":"5c5edd353e8dcb4b7ea36eaeadac016f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/592fe2fb-e177-4da9-8704-fc7c405f99e4"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"5c5edd353e8dcb4b7ea36eaeadac016f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/592fe2fb-e177-4da9-8704-fc7c405f99e4"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"5c5edd353e8dcb4b7ea36eaeadac016f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/592fe2fb-e177-4da9-8704-fc7c405f99e4"},"level":"info","message":"Attempting to update booking for experiment","requestID":"5c5edd353e8dcb4b7ea36eaeadac016f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/592fe2fb-e177-4da9-8704-fc7c405f99e4"},"level":"info","message":"Successfully updated booking for experiment","requestID":"5c5edd353e8dcb4b7ea36eaeadac016f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/592fe2fb-e177-4da9-8704-fc7c405f99e4"},"level":"info","message":"Successfully set up experiment","requestID":"5c5edd353e8dcb4b7ea36eaeadac016f"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d91103d0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d9112ae0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d91151f0-242b-11f0-a4ab-3996a0934271"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/592fe2fb-e177-4da9-8704-fc7c405f99e4"},"level":"info","message":"Successfully running experiment","requestID":"5c5edd353e8dcb4b7ea36eaeadac016f"} authorization-1 | {"client_addr":"127.0.0.1:43932","level":"info","msg":"Received request.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:19Z"} authorization-1 | {"client_addr":"127.0.0.1:43932","level":"info","msg":"Sent response.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.164978,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.764683,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/97868d62-af8e-49ce-a0ca-78da58e63dec","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d91103d0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/97868d62-af8e-49ce-a0ca-78da58e63dec","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843119,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExOX0.UiRZkv9McxKutqeD61NQCMYKfswjbbP72emoWe3esGo"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d91103d0-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d9112ae0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843119,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExOX0.UiRZkv9McxKutqeD61NQCMYKfswjbbP72emoWe3esGo"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d9112ae0-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43938","level":"info","msg":"Received request.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:19Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97868d62-af8e-49ce-a0ca-78da58e63dec","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b35afc24-e97d-428d-bc7c-e831ba703aea","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843119.2554724} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfbaa6f5-76de-4c51-be53-9497de9eb9b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfbaa6f5-76de-4c51-be53-9497de9eb9b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:16.700588728Z"}]},"request_id":"cad7b9be-b8c0-455c-ae75-529842778ffb","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843119.2555907} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"d9112ae0-242b-11f0-a4ab-3996a0934271","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:43938","level":"info","msg":"Sent response.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.561783,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/97868d62-af8e-49ce-a0ca-78da58e63dec","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d91151f0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/97868d62-af8e-49ce-a0ca-78da58e63dec","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","method":"POST","requestID":"d91151f0-242b-11f0-a4ab-3996a0934271","responseTime":33,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97868d62-af8e-49ce-a0ca-78da58e63dec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97868d62-af8e-49ce-a0ca-78da58e63dec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:16.612152993Z"}]},"request_id":"6bee1e28-3001-45ec-9843-a3e2621c469c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843119.2565114} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"d91103d0-242b-11f0-a4ab-3996a0934271","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F592fe2fb-e177-4da9-8704-fc7c405f99e4#owner@http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F592fe2fb-e177-4da9-8704-fc7c405f99e4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"7c22cdcc-c11e-4a96-b02a-57f72c1bcebc","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843119.284868} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d9112ae0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7? 200 39ms","method":"GET","requestID":"d9112ae0-242b-11f0-a4ab-3996a0934271","responseTime":39,"status":200,"url":"/devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"de8133aa-62e8-4726-81a2-08ba87b6e43b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843119.2852175} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d91151f0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/97868d62-af8e-49ce-a0ca-78da58e63dec/signaling 200 39ms","method":"POST","requestID":"d91151f0-242b-11f0-a4ab-3996a0934271","responseTime":39,"status":200,"url":"/devices/97868d62-af8e-49ce-a0ca-78da58e63dec/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"5c5edd353e8dcb4b7ea36eaeadac016f","responseTime":36,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d91103d0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/97868d62-af8e-49ce-a0ca-78da58e63dec? 200 42ms","method":"GET","requestID":"d91103d0-242b-11f0-a4ab-3996a0934271","responseTime":42,"status":200,"url":"/devices/97868d62-af8e-49ce-a0ca-78da58e63dec?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d9179380-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:43938","level":"info","msg":"Received request.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:19Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfbaa6f5-76de-4c51-be53-9497de9eb9b7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"16f40943-082c-4718-841f-1639638cbb76","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843119.291915} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d9182fc0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:43938","level":"info","msg":"Sent response.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.423643,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d9179380-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d9179380-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/592fe2fb-e177-4da9-8704-fc7c405f99e4","user":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"5c5edd353e8dcb4b7ea36eaeadac016f"} authorization-1 | {"client_addr":"127.0.0.1:43938","level":"info","msg":"Received request.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:19Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d9179380-242b-11f0-a4ab-3996a0934271"} gateway-1 | {"time_local":"28/Apr/2025:12:25: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.203","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5c5edd353e8dcb4b7ea36eaeadac016f"} device-1 | {"level":"info","message":"POST /devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7/signaling 200 8ms","method":"POST","requestID":"d9179380-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7/signaling"} experiment-1 | {"level":"info","message":"POST /experiments? 201 199ms","method":"POST","requestID":"5c5edd353e8dcb4b7ea36eaeadac016f","responseTime":199,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97868d62-af8e-49ce-a0ca-78da58e63dec","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7fc13e8d-5443-4c2c-be90-a42155cf567b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843119.2973497} authorization-1 | {"client_addr":"127.0.0.1:43938","level":"info","msg":"Sent response.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.669091,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/97868d62-af8e-49ce-a0ca-78da58e63dec","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d9182fc0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/97868d62-af8e-49ce-a0ca-78da58e63dec","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d9182fc0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExOX0.UiRZkv9McxKutqeD61NQCMYKfswjbbP72emoWe3esGo","level":"info","message":"auth send jwt","requestID":"07d822e25eb1cdb9e2d6e07b149be533"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"07d822e25eb1cdb9e2d6e07b149be533","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d9182fc0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/97868d62-af8e-49ce-a0ca-78da58e63dec/signaling 200 9ms","method":"POST","requestID":"d9182fc0-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/97868d62-af8e-49ce-a0ca-78da58e63dec/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"07d822e25eb1cdb9e2d6e07b149be533"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d919dd70-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:43938","level":"info","msg":"Received request.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:19Z"} authorization-1 | {"client_addr":"127.0.0.1:43938","level":"info","msg":"Sent response.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.705472,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/97868d62-af8e-49ce-a0ca-78da58e63dec","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"07d822e25eb1cdb9e2d6e07b149be533","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/97868d62-af8e-49ce-a0ca-78da58e63dec","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843119,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExOX0.UiRZkv9McxKutqeD61NQCMYKfswjbbP72emoWe3esGo"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"07d822e25eb1cdb9e2d6e07b149be533","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfbaa6f5-76de-4c51-be53-9497de9eb9b7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7c71c7fc-1ad0-4246-ab22-86baef51a79f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843119.3304837} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.553501,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d919dd70-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"d919dd70-242b-11f0-a4ab-3996a0934271","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97868d62-af8e-49ce-a0ca-78da58e63dec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97868d62-af8e-49ce-a0ca-78da58e63dec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:16.612152993Z"}]},"request_id":"c3f6c5d7-e0a4-452f-892c-81bb81cab168","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843119.3321605} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"07d822e25eb1cdb9e2d6e07b149be533","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d919dd70-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7/signaling 200 32ms","method":"POST","requestID":"d919dd70-242b-11f0-a4ab-3996a0934271","responseTime":32,"status":200,"url":"/devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"07d822e25eb1cdb9e2d6e07b149be533"} gateway-1 | {"time_local":"28/Apr/2025:12:25:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/97868d62-af8e-49ce-a0ca-78da58e63dec? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"07d822e25eb1cdb9e2d6e07b149be533"} device-1 | {"level":"info","message":"GET /devices/97868d62-af8e-49ce-a0ca-78da58e63dec? 200 35ms","method":"GET","requestID":"07d822e25eb1cdb9e2d6e07b149be533","responseTime":35,"status":200,"url":"/devices/97868d62-af8e-49ce-a0ca-78da58e63dec?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/592fe2fb-e177-4da9-8704-fc7c405f99e4"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"5c5edd353e8dcb4b7ea36eaeadac016f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/592fe2fb-e177-4da9-8704-fc7c405f99e4"},"level":"info","message":"Building connection plan","requestID":"5c5edd353e8dcb4b7ea36eaeadac016f"} 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":"9374bfa6-036f-44dc-9e99-279cf1be9c5f"},{"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":"bcd36d45-b3b8-4b9a-ae9b-20457b87934e"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"c83af487-15cd-4688-aed3-a2043232677b"}]},"level":"info","message":"Built pairwise service configurations","requestID":"5c5edd353e8dcb4b7ea36eaeadac016f"} 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/97868d62-af8e-49ce-a0ca-78da58e63dec"},{"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/cfbaa6f5-76de-4c51-be53-9497de9eb9b7"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"5c5edd353e8dcb4b7ea36eaeadac016f"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"d91f34a0-242b-11f0-a4ab-3996a0934271"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExOX0.UiRZkv9McxKutqeD61NQCMYKfswjbbP72emoWe3esGo","level":"info","message":"auth send jwt","requestID":"c88c251ec81361da4ec269efd264b810"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c88c251ec81361da4ec269efd264b810","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:19Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c88c251ec81361da4ec269efd264b810"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.719991,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d91f34a0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843119,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExOX0.UiRZkv9McxKutqeD61NQCMYKfswjbbP72emoWe3esGo"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"d91f34a0-242b-11f0-a4ab-3996a0934271","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.63028,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c88c251ec81361da4ec269efd264b810","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843119,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzExOX0.UiRZkv9McxKutqeD61NQCMYKfswjbbP72emoWe3esGo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c88c251ec81361da4ec269efd264b810","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfbaa6f5-76de-4c51-be53-9497de9eb9b7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfbaa6f5-76de-4c51-be53-9497de9eb9b7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:16.700588728Z"}]},"request_id":"ac91a276-982a-436b-967f-abda7b36bf07","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843119.3464468} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c88c251ec81361da4ec269efd264b810","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c88c251ec81361da4ec269efd264b810"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","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%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"21f08840-9f9d-492f-9d0a-c5e417317a33","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843119.349025} gateway-1 | {"time_local":"28/Apr/2025:12:25:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c88c251ec81361da4ec269efd264b810"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a5488e88-d99c-4f9d-a83a-a67afcca36b2","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843119.349276} device-1 | {"level":"info","message":"GET /devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7? 200 9ms","method":"GET","requestID":"c88c251ec81361da4ec269efd264b810","responseTime":9,"status":200,"url":"/devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"d91f34a0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"d91f34a0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"d91f34a0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/5b6d4e08-ce6f-4f32-99f2-3cde44e60c90'","requestID":"d91f34a0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/5b6d4e08-ce6f-4f32-99f2-3cde44e60c90'","requestID":"d91f34a0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"d91f34a0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 48ms","method":"POST","requestID":"d91f34a0-242b-11f0-a4ab-3996a0934271","responseTime":48,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"d91f34a0-242b-11f0-a4ab-3996a0934271"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/5b6d4e08-ce6f-4f32-99f2-3cde44e60c90","device":"cfbaa6f5-76de-4c51-be53-9497de9eb9b7","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/592fe2fb-e177-4da9-8704-fc7c405f99e4"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"5c5edd353e8dcb4b7ea36eaeadac016f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d92e4fd0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:19Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97868d62-af8e-49ce-a0ca-78da58e63dec","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9d242360-a29c-4d17-970f-8d1eb29700e8","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843119.441335} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.227498,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/97868d62-af8e-49ce-a0ca-78da58e63dec","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d92e4fd0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/97868d62-af8e-49ce-a0ca-78da58e63dec","object_type":"device","rebac_allow":false,"scope_allow":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":"d92e4fd0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d92e4fd0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/97868d62-af8e-49ce-a0ca-78da58e63dec/signaling 200 8ms","method":"POST","requestID":"d92e4fd0-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/97868d62-af8e-49ce-a0ca-78da58e63dec/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d92faf60-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:19Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfbaa6f5-76de-4c51-be53-9497de9eb9b7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"42c9d5e7-f134-4d1c-8809-00f355183716","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843119.4503353} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.661921,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d92faf60-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d92faf60-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"cfbaa6f5-76de-4c51-be53-9497de9eb9b7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"cfbaa6f5-76de-4c51-be53-9497de9eb9b7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d92faf60-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7/signaling 200 8ms","method":"POST","requestID":"d92faf60-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 8621107074332898307 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:tFF9\r\na=ice-pwd:EKETOlT5i20hKJ4DFM3ZyAPM\r\na=ice-options:trickle\r\na=fingerprint:sha-256 5C:4F:BF:54:6B:91:07:FD:78:A0:F9:B4:AC:AC:C6:9C:B4:FD:40:E8:22:36:C9:91:F3:38:E7:72:3A:EA:85:3B\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"cfbaa6f5-76de-4c51-be53-9497de9eb9b7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"device":"cfbaa6f5-76de-4c51-be53-9497de9eb9b7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"97868d62-af8e-49ce-a0ca-78da58e63dec","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"5b6d4e08-ce6f-4f32-99f2-3cde44e60c90","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"97868d62-af8e-49ce-a0ca-78da58e63dec","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"97868d62-af8e-49ce-a0ca-78da58e63dec","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"97868d62-af8e-49ce-a0ca-78da58e63dec","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"97868d62-af8e-49ce-a0ca-78da58e63dec","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5b6d4e08-ce6f-4f32-99f2-3cde44e60c90' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5b6d4e08-ce6f-4f32-99f2-3cde44e60c90","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"df7004a82fba42aeeca0c9c96945db6c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"df7004a82fba42aeeca0c9c96945db6c","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/97868d62-af8e-49ce-a0ca-78da58e63dec"},{"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/cfbaa6f5-76de-4c51-be53-9497de9eb9b7"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/5b6d4e08-ce6f-4f32-99f2-3cde44e60c90"}}},"level":"info","message":"received a callback","requestID":"df7004a82fba42aeeca0c9c96945db6c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"df7004a82fba42aeeca0c9c96945db6c","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25: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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"df7004a82fba42aeeca0c9c96945db6c"} device-1 | {"content":{"candidate":"candidate:2164692497 1 udp 2113937151 dd829a5b-bb8b-4be1-a140-0e5d9f9a0d17.local 44502 typ host generation 0 ufrag tFF9 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"cfbaa6f5-76de-4c51-be53-9497de9eb9b7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"cfbaa6f5-76de-4c51-be53-9497de9eb9b7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"peerconnection":"5b6d4e08-ce6f-4f32-99f2-3cde44e60c90","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"97868d62-af8e-49ce-a0ca-78da58e63dec","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"cfbaa6f5-76de-4c51-be53-9497de9eb9b7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"97868d62-af8e-49ce-a0ca-78da58e63dec","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"5b6d4e08-ce6f-4f32-99f2-3cde44e60c90","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/5b6d4e08-ce6f-4f32-99f2-3cde44e60c90' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5b6d4e08-ce6f-4f32-99f2-3cde44e60c90","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c0659c8b758f84b2a90dd263ef551750","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c0659c8b758f84b2a90dd263ef551750","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/97868d62-af8e-49ce-a0ca-78da58e63dec"},{"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/cfbaa6f5-76de-4c51-be53-9497de9eb9b7"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/5b6d4e08-ce6f-4f32-99f2-3cde44e60c90"}}},"level":"info","message":"received a callback","requestID":"c0659c8b758f84b2a90dd263ef551750"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"da628a10-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:21Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5b6d4e08-ce6f-4f32-99f2-3cde44e60c90","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5676bc76-eea2-48cb-9207-e8adabf29b6c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843121.4627233} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.008725,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5b6d4e08-ce6f-4f32-99f2-3cde44e60c90","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"da628a10-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/5b6d4e08-ce6f-4f32-99f2-3cde44e60c90","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":"da628a10-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"da628a10-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /peerconnections/5b6d4e08-ce6f-4f32-99f2-3cde44e60c90 200 9ms","method":"GET","requestID":"da628a10-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/peerconnections/5b6d4e08-ce6f-4f32-99f2-3cde44e60c90"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 27ms","method":"POST","requestID":"c0659c8b758f84b2a90dd263ef551750","responseTime":27,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"da663390-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:21Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97868d62-af8e-49ce-a0ca-78da58e63dec","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5ee24894-99d8-40bb-98ee-928eabad6e70","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843121.4852679} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.213587,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/97868d62-af8e-49ce-a0ca-78da58e63dec","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"da663390-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/97868d62-af8e-49ce-a0ca-78da58e63dec","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"da663390-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"28/Apr/2025:12:25: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.030","http_referrer":"","http_user_agent":"node-fetch","requestID":"c0659c8b758f84b2a90dd263ef551750"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"da663390-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/97868d62-af8e-49ce-a0ca-78da58e63dec/signaling 200 8ms","method":"POST","requestID":"da663390-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/97868d62-af8e-49ce-a0ca-78da58e63dec/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"da67ba30-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:21Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfbaa6f5-76de-4c51-be53-9497de9eb9b7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4e08bbd3-9901-4746-8c3e-c3262b12908e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843121.4950168} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.31123,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"da67ba30-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7","object_type":"device","rebac_allow":false,"scope_allow":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":"da67ba30-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"da67ba30-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7/signaling 200 8ms","method":"POST","requestID":"da67ba30-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyMX0.I6wb927faZxLNZuw-BFGtY1Ivms-3hfXfZEO2l1iOOQ","level":"info","message":"auth send jwt","requestID":"f80de3cce332bb79501eb3158eb7ef00"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f80de3cce332bb79501eb3158eb7ef00","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/592fe2fb-e177-4da9-8704-fc7c405f99e4","requestID":"f80de3cce332bb79501eb3158eb7ef00"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:21Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.623872,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/592fe2fb-e177-4da9-8704-fc7c405f99e4","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"f80de3cce332bb79501eb3158eb7ef00","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/592fe2fb-e177-4da9-8704-fc7c405f99e4","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843121,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyMX0.I6wb927faZxLNZuw-BFGtY1Ivms-3hfXfZEO2l1iOOQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f80de3cce332bb79501eb3158eb7ef00","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/592fe2fb-e177-4da9-8704-fc7c405f99e4","requestID":"f80de3cce332bb79501eb3158eb7ef00"} experiment-1 | {"level":"info","message":"GET /experiments/592fe2fb-e177-4da9-8704-fc7c405f99e4 200 9ms","method":"GET","requestID":"f80de3cce332bb79501eb3158eb7ef00","responseTime":9,"status":200,"url":"/experiments/592fe2fb-e177-4da9-8704-fc7c405f99e4"} gateway-1 | {"time_local":"28/Apr/2025:12:25:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/592fe2fb-e177-4da9-8704-fc7c405f99e4 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f80de3cce332bb79501eb3158eb7ef00"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyMX0.I6wb927faZxLNZuw-BFGtY1Ivms-3hfXfZEO2l1iOOQ","level":"info","message":"auth send jwt","requestID":"2797c9752779ed8a759fda51f0425601"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2797c9752779ed8a759fda51f0425601","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/592fe2fb-e177-4da9-8704-fc7c405f99e4","requestID":"2797c9752779ed8a759fda51f0425601"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:21Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.757611,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:21Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/592fe2fb-e177-4da9-8704-fc7c405f99e4","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"2797c9752779ed8a759fda51f0425601","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/592fe2fb-e177-4da9-8704-fc7c405f99e4","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843121,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyMX0.I6wb927faZxLNZuw-BFGtY1Ivms-3hfXfZEO2l1iOOQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"2797c9752779ed8a759fda51f0425601","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/592fe2fb-e177-4da9-8704-fc7c405f99e4"},"level":"info","message":"Attempting to finish experiment","requestID":"2797c9752779ed8a759fda51f0425601"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"da772380-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:21Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.777464,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:21Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5b6d4e08-ce6f-4f32-99f2-3cde44e60c90","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"da772380-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:http://localhost/peerconnections/5b6d4e08-ce6f-4f32-99f2-3cde44e60c90","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843121,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyMX0.I6wb927faZxLNZuw-BFGtY1Ivms-3hfXfZEO2l1iOOQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"da772380-242b-11f0-a4ab-3996a0934271","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/5b6d4e08-ce6f-4f32-99f2-3cde44e60c90","device":"cfbaa6f5-76de-4c51-be53-9497de9eb9b7","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"97868d62-af8e-49ce-a0ca-78da58e63dec","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"97868d62-af8e-49ce-a0ca-78da58e63dec","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"97868d62-af8e-49ce-a0ca-78da58e63dec","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5b6d4e08-ce6f-4f32-99f2-3cde44e60c90' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/5b6d4e08-ce6f-4f32-99f2-3cde44e60c90' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5b6d4e08-ce6f-4f32-99f2-3cde44e60c90","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5b6d4e08-ce6f-4f32-99f2-3cde44e60c90': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5b6d4e08-ce6f-4f32-99f2-3cde44e60c90","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"36764815-6264-4d99-9b5f-5e9996bf7d4f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843121.6047769} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"abdb3ac5-824e-48dc-a7b5-f6c97c89a2e4","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843121.6048906} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"37d838ae1b1b6bdb5ff3b4018b7211ad","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"37d838ae1b1b6bdb5ff3b4018b7211ad","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"da772380-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/97868d62-af8e-49ce-a0ca-78da58e63dec"},{"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/cfbaa6f5-76de-4c51-be53-9497de9eb9b7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5b6d4e08-ce6f-4f32-99f2-3cde44e60c90"}}},"level":"info","message":"received a callback","requestID":"37d838ae1b1b6bdb5ff3b4018b7211ad"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"20f3bb523acc7c71305f6bab7b068dd7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"20f3bb523acc7c71305f6bab7b068dd7","responseTime":0,"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/97868d62-af8e-49ce-a0ca-78da58e63dec"},{"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/cfbaa6f5-76de-4c51-be53-9497de9eb9b7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5b6d4e08-ce6f-4f32-99f2-3cde44e60c90"}}},"level":"info","message":"received a callback","requestID":"20f3bb523acc7c71305f6bab7b068dd7"} device-1 | {"data":{"peerconnection":"5b6d4e08-ce6f-4f32-99f2-3cde44e60c90","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"da772380-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"DELETE /peerconnections/5b6d4e08-ce6f-4f32-99f2-3cde44e60c90 204 58ms","method":"DELETE","requestID":"da772380-242b-11f0-a4ab-3996a0934271","responseTime":58,"status":204,"url":"/peerconnections/5b6d4e08-ce6f-4f32-99f2-3cde44e60c90"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/592fe2fb-e177-4da9-8704-fc7c405f99e4"},"level":"info","message":"Successfully finished experiment","requestID":"2797c9752779ed8a759fda51f0425601"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"da863eb0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:21Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97868d62-af8e-49ce-a0ca-78da58e63dec","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9ac2eec2-4e0a-44c5-a630-c7c1f3b777f9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843121.694891} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.207852,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/97868d62-af8e-49ce-a0ca-78da58e63dec","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"da863eb0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/97868d62-af8e-49ce-a0ca-78da58e63dec","object_type":"device","rebac_allow":false,"scope_allow":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":"da863eb0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"da863eb0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/97868d62-af8e-49ce-a0ca-78da58e63dec/signaling 200 7ms","method":"POST","requestID":"da863eb0-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/devices/97868d62-af8e-49ce-a0ca-78da58e63dec/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"da879e40-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F592fe2fb-e177-4da9-8704-fc7c405f99e4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F592fe2fb-e177-4da9-8704-fc7c405f99e4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"b262f86a-adda-4e50-a073-adb878811372","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843121.7008665} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d3653145-5361-4764-ac9f-94b2f584ca6c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843121.7011929} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"2797c9752779ed8a759fda51f0425601","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:21Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfbaa6f5-76de-4c51-be53-9497de9eb9b7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2d9b566f-5a85-448f-9d41-f76873f113e3","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843121.729035} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.819374,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"da879e40-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"da879e40-242b-11f0-a4ab-3996a0934271","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"da879e40-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7/signaling 200 33ms","method":"POST","requestID":"da879e40-242b-11f0-a4ab-3996a0934271","responseTime":33,"status":200,"url":"/devices/cfbaa6f5-76de-4c51-be53-9497de9eb9b7/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/592fe2fb-e177-4da9-8704-fc7c405f99e4","requestID":"2797c9752779ed8a759fda51f0425601"} gateway-1 | {"time_local":"28/Apr/2025:12:25:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/592fe2fb-e177-4da9-8704-fc7c405f99e4 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.239","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2797c9752779ed8a759fda51f0425601"} experiment-1 | {"level":"info","message":"DELETE /experiments/592fe2fb-e177-4da9-8704-fc7c405f99e4 204 236ms","method":"DELETE","requestID":"2797c9752779ed8a759fda51f0425601","responseTime":236,"status":204,"url":"/experiments/592fe2fb-e177-4da9-8704-fc7c405f99e4"} gateway-1 | {"time_local":"28/Apr/2025:12:25:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2542","request_time":"4.135","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"b09ca8b49a32a85433eefac9e8e1bdc5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 218ms","method":"POST","requestID":"37d838ae1b1b6bdb5ff3b4018b7211ad","responseTime":218,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25: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.221","http_referrer":"","http_user_agent":"node-fetch","requestID":"37d838ae1b1b6bdb5ff3b4018b7211ad"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 217ms","method":"POST","requestID":"20f3bb523acc7c71305f6bab7b068dd7","responseTime":217,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25: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.221","http_referrer":"","http_user_agent":"node-fetch","requestID":"20f3bb523acc7c71305f6bab7b068dd7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyMX0.I6wb927faZxLNZuw-BFGtY1Ivms-3hfXfZEO2l1iOOQ","level":"info","message":"auth send jwt","requestID":"181b7b85c5508625ca9c5b57571f2b9a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"181b7b85c5508625ca9c5b57571f2b9a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"181b7b85c5508625ca9c5b57571f2b9a"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:21Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.788478,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:21Z"} gateway-1 | {"time_local":"28/Apr/2025:12:25:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2744","request_time":"2.802","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e5541f721772a85e41cd5844c5a2b828"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"181b7b85c5508625ca9c5b57571f2b9a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843121,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyMX0.I6wb927faZxLNZuw-BFGtY1Ivms-3hfXfZEO2l1iOOQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"181b7b85c5508625ca9c5b57571f2b9a","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/97868d62-af8e-49ce-a0ca-78da58e63dec' 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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75dd7526-59ef-48f1-9035-67f916506d8b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4d26162c-e420-4fa3-8ad1-fa5d6b4b8561","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843121.87495} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"181b7b85c5508625ca9c5b57571f2b9a","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/cfbaa6f5-76de-4c51-be53-9497de9eb9b7' 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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6effb9ad-d74a-4123-93bd-8d18004a5b8a","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843121.879806} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"181b7b85c5508625ca9c5b57571f2b9a","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75dd7526-59ef-48f1-9035-67f916506d8b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"a733eba6-d74c-4abd-9313-67a54dd17bb9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843121.8892288} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b23ec6c2-2e1f-44c7-b501-821634ba2ac7","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843121.8893647} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"181b7b85c5508625ca9c5b57571f2b9a","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75dd7526-59ef-48f1-9035-67f916506d8b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75dd7526-59ef-48f1-9035-67f916506d8b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:21.889195952Z"}]},"request_id":"36b8d21a-3e29-4c99-93ee-7a86589e72d6","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843121.8958843} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"181b7b85c5508625ca9c5b57571f2b9a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"181b7b85c5508625ca9c5b57571f2b9a"} device-1 | {"level":"info","message":"POST /devices? 201 69ms","method":"POST","requestID":"181b7b85c5508625ca9c5b57571f2b9a","responseTime":69,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:25: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.097","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"181b7b85c5508625ca9c5b57571f2b9a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyMX0.I6wb927faZxLNZuw-BFGtY1Ivms-3hfXfZEO2l1iOOQ","level":"info","message":"auth send jwt","requestID":"8ff375cd2a41348f55752efb051b7b02"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"8ff375cd2a41348f55752efb051b7b02","responseTime":26,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"8ff375cd2a41348f55752efb051b7b02"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:21Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.708786,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"8ff375cd2a41348f55752efb051b7b02","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843121,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyMX0.I6wb927faZxLNZuw-BFGtY1Ivms-3hfXfZEO2l1iOOQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8ff375cd2a41348f55752efb051b7b02","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3151ce8-b9dd-41a9-99bf-9abe6997ee79","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4ab048b4-dd5f-495c-a988-252d922252be","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843121.9420085} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8ff375cd2a41348f55752efb051b7b02","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cba14401-5088-4435-95d0-52e99fcd0599","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843121.970205} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"8ff375cd2a41348f55752efb051b7b02","responseTime":27,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3151ce8-b9dd-41a9-99bf-9abe6997ee79","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"79aae55d-02fc-4b35-b8ec-6c2038851ed8","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843121.9826822} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"12e48cd2-5070-4a81-bbb8-1ce999172f30","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843121.982831} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"8ff375cd2a41348f55752efb051b7b02","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3151ce8-b9dd-41a9-99bf-9abe6997ee79","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3151ce8-b9dd-41a9-99bf-9abe6997ee79","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:21.982656468Z"}]},"request_id":"8a96ee5e-979c-4072-acbe-bfe72d51e578","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843121.9865808} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8ff375cd2a41348f55752efb051b7b02","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"8ff375cd2a41348f55752efb051b7b02"} gateway-1 | {"time_local":"28/Apr/2025:12:25: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.089","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8ff375cd2a41348f55752efb051b7b02"} device-1 | {"level":"info","message":"POST /devices? 201 62ms","method":"POST","requestID":"8ff375cd2a41348f55752efb051b7b02","responseTime":62,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyMn0.z5bEBEzIKKo4qIoc4rOr2-4EdSNnzEApeh4Fe6fI9zw","level":"info","message":"auth send jwt","requestID":"2c10dce56525bd4f4369aeaf1d573821"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2c10dce56525bd4f4369aeaf1d573821","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"2c10dce56525bd4f4369aeaf1d573821"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:22Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.671198,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:22Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/75dd7526-59ef-48f1-9035-67f916506d8b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"2c10dce56525bd4f4369aeaf1d573821","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/75dd7526-59ef-48f1-9035-67f916506d8b","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843122,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyMn0.z5bEBEzIKKo4qIoc4rOr2-4EdSNnzEApeh4Fe6fI9zw"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"2c10dce56525bd4f4369aeaf1d573821","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75dd7526-59ef-48f1-9035-67f916506d8b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75dd7526-59ef-48f1-9035-67f916506d8b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:21.889195952Z"}]},"request_id":"27a97294-2037-43b4-801e-3cde6c9928c9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843122.8940265} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2c10dce56525bd4f4369aeaf1d573821","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"671abf5a-a386-4efc-a4b1-e6e63f3c9f96","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843122.898224} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"2c10dce56525bd4f4369aeaf1d573821","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75dd7526-59ef-48f1-9035-67f916506d8b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75dd7526-59ef-48f1-9035-67f916506d8b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:21.889195952Z"}]},"request_id":"4a7adc80-245c-4a09-bc55-20ad27a52160","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843122.9081182} authorization-1 | {"level":"info","message":"POST /relations/query 200 23ms","method":"POST","requestID":"2c10dce56525bd4f4369aeaf1d573821","responseTime":23,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"2c10dce56525bd4f4369aeaf1d573821"} device-1 | {"level":"info","message":"PATCH /devices/75dd7526-59ef-48f1-9035-67f916506d8b 200 44ms","method":"PATCH","requestID":"2c10dce56525bd4f4369aeaf1d573821","responseTime":44,"status":200,"url":"/devices/75dd7526-59ef-48f1-9035-67f916506d8b"} gateway-1 | {"time_local":"28/Apr/2025:12:25:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/75dd7526-59ef-48f1-9035-67f916506d8b HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.048","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"2c10dce56525bd4f4369aeaf1d573821"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyMn0.z5bEBEzIKKo4qIoc4rOr2-4EdSNnzEApeh4Fe6fI9zw","level":"info","message":"auth send jwt","requestID":"3d931d323c468cd31ef704293fd57e0c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3d931d323c468cd31ef704293fd57e0c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"3d931d323c468cd31ef704293fd57e0c"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:22Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.736674,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:22Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/75dd7526-59ef-48f1-9035-67f916506d8b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"3d931d323c468cd31ef704293fd57e0c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/75dd7526-59ef-48f1-9035-67f916506d8b","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843122,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyMn0.z5bEBEzIKKo4qIoc4rOr2-4EdSNnzEApeh4Fe6fI9zw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3d931d323c468cd31ef704293fd57e0c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"3d931d323c468cd31ef704293fd57e0c"} device-1 | {"level":"info","message":"POST /devices/75dd7526-59ef-48f1-9035-67f916506d8b/websocket 200 13ms","method":"POST","requestID":"3d931d323c468cd31ef704293fd57e0c","responseTime":13,"status":200,"url":"/devices/75dd7526-59ef-48f1-9035-67f916506d8b/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:25:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/75dd7526-59ef-48f1-9035-67f916506d8b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.016","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"3d931d323c468cd31ef704293fd57e0c"} device-1 | {"level":"info","message":"device 'http://localhost/devices/75dd7526-59ef-48f1-9035-67f916506d8b' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0504285355977f0060be0e5b9e89449b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0504285355977f0060be0e5b9e89449b","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:25:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79/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":"0504285355977f0060be0e5b9e89449b"} device-1 | {"level":"info","message":"OPTIONS /devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79/websocket 200 1ms","method":"OPTIONS","requestID":"0504285355977f0060be0e5b9e89449b","responseTime":1,"status":200,"url":"/devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyNH0.M45QZNttvJLL73p6AGnxtsMtVDpzLn9T25nLQM3hKcQ","level":"info","message":"auth send jwt","requestID":"9192551bce5c0f40cfaec87aadd9fdeb"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9192551bce5c0f40cfaec87aadd9fdeb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"9192551bce5c0f40cfaec87aadd9fdeb"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:24Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.226024,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:24Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9192551bce5c0f40cfaec87aadd9fdeb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843124,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyNH0.M45QZNttvJLL73p6AGnxtsMtVDpzLn9T25nLQM3hKcQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9192551bce5c0f40cfaec87aadd9fdeb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"9192551bce5c0f40cfaec87aadd9fdeb"} gateway-1 | {"time_local":"28/Apr/2025:12:25:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.032","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9192551bce5c0f40cfaec87aadd9fdeb"} device-1 | {"level":"info","message":"POST /devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79/websocket 200 27ms","method":"POST","requestID":"9192551bce5c0f40cfaec87aadd9fdeb","responseTime":27,"status":200,"url":"/devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyNH0.M45QZNttvJLL73p6AGnxtsMtVDpzLn9T25nLQM3hKcQ","level":"info","message":"auth send jwt","requestID":"67e7777c87da69ffac6bd4383c69513c"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"67e7777c87da69ffac6bd4383c69513c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"67e7777c87da69ffac6bd4383c69513c"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:24Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.672358,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/75dd7526-59ef-48f1-9035-67f916506d8b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"67e7777c87da69ffac6bd4383c69513c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/75dd7526-59ef-48f1-9035-67f916506d8b","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843124,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyNH0.M45QZNttvJLL73p6AGnxtsMtVDpzLn9T25nLQM3hKcQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"67e7777c87da69ffac6bd4383c69513c","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75dd7526-59ef-48f1-9035-67f916506d8b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75dd7526-59ef-48f1-9035-67f916506d8b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:21.889195952Z"}]},"request_id":"ec1f996b-770d-4407-ab1f-6a38a8d90eb2","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843124.3271873} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"67e7777c87da69ffac6bd4383c69513c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"67e7777c87da69ffac6bd4383c69513c"} gateway-1 | {"time_local":"28/Apr/2025:12:25:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/75dd7526-59ef-48f1-9035-67f916506d8b? 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":"67e7777c87da69ffac6bd4383c69513c"} device-1 | {"level":"info","message":"GET /devices/75dd7526-59ef-48f1-9035-67f916506d8b? 200 9ms","method":"GET","requestID":"67e7777c87da69ffac6bd4383c69513c","responseTime":9,"status":200,"url":"/devices/75dd7526-59ef-48f1-9035-67f916506d8b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyNH0.M45QZNttvJLL73p6AGnxtsMtVDpzLn9T25nLQM3hKcQ","level":"info","message":"auth send jwt","requestID":"4bc403b40bca3b5f606493eb54d6ba9d"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4bc403b40bca3b5f606493eb54d6ba9d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4bc403b40bca3b5f606493eb54d6ba9d"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:24Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.638141,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"4bc403b40bca3b5f606493eb54d6ba9d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843124,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyNH0.M45QZNttvJLL73p6AGnxtsMtVDpzLn9T25nLQM3hKcQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4bc403b40bca3b5f606493eb54d6ba9d","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3151ce8-b9dd-41a9-99bf-9abe6997ee79","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3151ce8-b9dd-41a9-99bf-9abe6997ee79","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:21.982656468Z"}]},"request_id":"2ae04514-ccff-4296-ab98-befa1977aba3","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843124.3417242} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4bc403b40bca3b5f606493eb54d6ba9d","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4bc403b40bca3b5f606493eb54d6ba9d"} gateway-1 | {"time_local":"28/Apr/2025:12:25:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4bc403b40bca3b5f606493eb54d6ba9d"} device-1 | {"level":"info","message":"GET /devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79? 200 9ms","method":"GET","requestID":"4bc403b40bca3b5f606493eb54d6ba9d","responseTime":9,"status":200,"url":"/devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyNH0.M45QZNttvJLL73p6AGnxtsMtVDpzLn9T25nLQM3hKcQ","level":"info","message":"auth send jwt","requestID":"76e6a97f0b5f5a0fedf5bfd2a80b31a0"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"76e6a97f0b5f5a0fedf5bfd2a80b31a0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"76e6a97f0b5f5a0fedf5bfd2a80b31a0","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:24Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.675409,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"76e6a97f0b5f5a0fedf5bfd2a80b31a0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843124,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyNH0.M45QZNttvJLL73p6AGnxtsMtVDpzLn9T25nLQM3hKcQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"76e6a97f0b5f5a0fedf5bfd2a80b31a0","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0daac3a6-736f-4b24-a45e-f6dea713451b"},"level":"info","message":"Attempting to run experiment","requestID":"76e6a97f0b5f5a0fedf5bfd2a80b31a0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0daac3a6-736f-4b24-a45e-f6dea713451b"},"level":"info","message":"Attempting to book experiment","requestID":"76e6a97f0b5f5a0fedf5bfd2a80b31a0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0daac3a6-736f-4b24-a45e-f6dea713451b"},"level":"info","message":"Successfully booked experiment","requestID":"76e6a97f0b5f5a0fedf5bfd2a80b31a0"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dc1f5540-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dc1f7c50-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:24Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.642912,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/75dd7526-59ef-48f1-9035-67f916506d8b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"dc1f5540-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/75dd7526-59ef-48f1-9035-67f916506d8b","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843124,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyNH0.M45QZNttvJLL73p6AGnxtsMtVDpzLn9T25nLQM3hKcQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"dc1f5540-242b-11f0-a4ab-3996a0934271","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55368","level":"info","msg":"Received request.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:24Z"} authorization-1 | {"client_addr":"127.0.0.1:55368","level":"info","msg":"Sent response.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.048575,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"dc1f7c50-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843124,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyNH0.M45QZNttvJLL73p6AGnxtsMtVDpzLn9T25nLQM3hKcQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dc1f7c50-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75dd7526-59ef-48f1-9035-67f916506d8b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75dd7526-59ef-48f1-9035-67f916506d8b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:21.889195952Z"}]},"request_id":"6aef925a-dc83-4915-aca9-d6ca6dbd32fb","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843124.3785458} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"dc1f5540-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3151ce8-b9dd-41a9-99bf-9abe6997ee79","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3151ce8-b9dd-41a9-99bf-9abe6997ee79","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:21.982656468Z"}]},"request_id":"90c08031-648c-4602-affe-d22f67d84a89","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843124.3816977} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dc1f5540-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"dc1f7c50-242b-11f0-a4ab-3996a0934271","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/75dd7526-59ef-48f1-9035-67f916506d8b? 200 10ms","method":"GET","requestID":"dc1f5540-242b-11f0-a4ab-3996a0934271","responseTime":10,"status":200,"url":"/devices/75dd7526-59ef-48f1-9035-67f916506d8b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dc1f7c50-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79? 200 11ms","method":"GET","requestID":"dc1f7c50-242b-11f0-a4ab-3996a0934271","responseTime":11,"status":200,"url":"/devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0daac3a6-736f-4b24-a45e-f6dea713451b"},"level":"info","message":"Setting up experiment","requestID":"76e6a97f0b5f5a0fedf5bfd2a80b31a0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0daac3a6-736f-4b24-a45e-f6dea713451b"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"76e6a97f0b5f5a0fedf5bfd2a80b31a0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0daac3a6-736f-4b24-a45e-f6dea713451b"},"level":"info","message":"Successfully locked booking for experiment","requestID":"76e6a97f0b5f5a0fedf5bfd2a80b31a0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0daac3a6-736f-4b24-a45e-f6dea713451b"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"76e6a97f0b5f5a0fedf5bfd2a80b31a0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0daac3a6-736f-4b24-a45e-f6dea713451b"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"76e6a97f0b5f5a0fedf5bfd2a80b31a0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0daac3a6-736f-4b24-a45e-f6dea713451b"},"level":"info","message":"Attempting to update booking for experiment","requestID":"76e6a97f0b5f5a0fedf5bfd2a80b31a0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0daac3a6-736f-4b24-a45e-f6dea713451b"},"level":"info","message":"Successfully updated booking for experiment","requestID":"76e6a97f0b5f5a0fedf5bfd2a80b31a0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0daac3a6-736f-4b24-a45e-f6dea713451b"},"level":"info","message":"Successfully set up experiment","requestID":"76e6a97f0b5f5a0fedf5bfd2a80b31a0"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dc2e7070-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dc2e9780-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dc2ebe90-242b-11f0-a4ab-3996a0934271"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0daac3a6-736f-4b24-a45e-f6dea713451b"},"level":"info","message":"Successfully running experiment","requestID":"76e6a97f0b5f5a0fedf5bfd2a80b31a0"} authorization-1 | {"client_addr":"127.0.0.1:55368","level":"info","msg":"Received request.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:24Z"} authorization-1 | {"client_addr":"127.0.0.1:55368","level":"info","msg":"Sent response.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.663709,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:24Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/75dd7526-59ef-48f1-9035-67f916506d8b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"dc2e7070-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/75dd7526-59ef-48f1-9035-67f916506d8b","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843124,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyNH0.M45QZNttvJLL73p6AGnxtsMtVDpzLn9T25nLQM3hKcQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dc2e7070-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.528451,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"dc2e9780-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843124,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyNH0.M45QZNttvJLL73p6AGnxtsMtVDpzLn9T25nLQM3hKcQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dc2e9780-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Received request.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:24Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75dd7526-59ef-48f1-9035-67f916506d8b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75dd7526-59ef-48f1-9035-67f916506d8b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:21.889195952Z"}]},"request_id":"9783d466-b773-4f1d-9cca-9f4117c1bc3d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843124.4802155} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dc2e7070-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3151ce8-b9dd-41a9-99bf-9abe6997ee79","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3151ce8-b9dd-41a9-99bf-9abe6997ee79","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:21.982656468Z"}]},"request_id":"48d6b7dc-0ced-41e6-aafa-2e2338b8450e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843124.4810271} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dc2e9780-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75dd7526-59ef-48f1-9035-67f916506d8b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"540be91d-45f8-4823-8b53-b340aa49c70d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843124.4818118} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Sent response.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.581,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/75dd7526-59ef-48f1-9035-67f916506d8b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"dc2ebe90-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/75dd7526-59ef-48f1-9035-67f916506d8b","object_type":"device","rebac_allow":false,"scope_allow":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":"dc2ebe90-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dc2e7070-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/75dd7526-59ef-48f1-9035-67f916506d8b? 200 15ms","method":"GET","requestID":"dc2e7070-242b-11f0-a4ab-3996a0934271","responseTime":15,"status":200,"url":"/devices/75dd7526-59ef-48f1-9035-67f916506d8b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dc2e9780-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79? 200 14ms","method":"GET","requestID":"dc2e9780-242b-11f0-a4ab-3996a0934271","responseTime":14,"status":200,"url":"/devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dc2ebe90-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/75dd7526-59ef-48f1-9035-67f916506d8b/signaling 200 14ms","method":"POST","requestID":"dc2ebe90-242b-11f0-a4ab-3996a0934271","responseTime":14,"status":200,"url":"/devices/75dd7526-59ef-48f1-9035-67f916506d8b/signaling"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0daac3a6-736f-4b24-a45e-f6dea713451b#owner@http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0daac3a6-736f-4b24-a45e-f6dea713451b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"d610480e-b467-41ab-9427-819002e6905a","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843124.4882627} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5f042ef3-700d-4243-ae5c-ed8bd5b5a4d5","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843124.4884434} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dc34d910-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"76e6a97f0b5f5a0fedf5bfd2a80b31a0","responseTime":38,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dc350020-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Received request.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:24Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:24Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75dd7526-59ef-48f1-9035-67f916506d8b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a381c6fe-3f0a-4b8e-923f-507754f20dc5","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843124.5172274} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Sent response.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.385131,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/75dd7526-59ef-48f1-9035-67f916506d8b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"dc34d910-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/75dd7526-59ef-48f1-9035-67f916506d8b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dc34d910-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3151ce8-b9dd-41a9-99bf-9abe6997ee79","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9f464981-3ce5-439c-97a8-0ec24c2fec36","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843124.518178} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.404605,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:24Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/0daac3a6-736f-4b24-a45e-f6dea713451b","user":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"76e6a97f0b5f5a0fedf5bfd2a80b31a0"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"dc350020-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dc350020-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"28/Apr/2025:12:25: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":"76e6a97f0b5f5a0fedf5bfd2a80b31a0"} experiment-1 | {"level":"info","message":"POST /experiments? 201 171ms","method":"POST","requestID":"76e6a97f0b5f5a0fedf5bfd2a80b31a0","responseTime":171,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dc34d910-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/75dd7526-59ef-48f1-9035-67f916506d8b/signaling 200 9ms","method":"POST","requestID":"dc34d910-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/75dd7526-59ef-48f1-9035-67f916506d8b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dc350020-242b-11f0-a4ab-3996a0934271"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyNH0.M45QZNttvJLL73p6AGnxtsMtVDpzLn9T25nLQM3hKcQ","level":"info","message":"auth send jwt","requestID":"f25ab17b23606c9b6ca9fec6d8115240"} device-1 | {"level":"info","message":"POST /devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79/signaling 200 10ms","method":"POST","requestID":"dc350020-242b-11f0-a4ab-3996a0934271","responseTime":10,"status":200,"url":"/devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f25ab17b23606c9b6ca9fec6d8115240","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dc36add0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f25ab17b23606c9b6ca9fec6d8115240"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:24Z"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Received request.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:24Z"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Sent response.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.968952,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/75dd7526-59ef-48f1-9035-67f916506d8b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"f25ab17b23606c9b6ca9fec6d8115240","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/75dd7526-59ef-48f1-9035-67f916506d8b","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843124,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyNH0.M45QZNttvJLL73p6AGnxtsMtVDpzLn9T25nLQM3hKcQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f25ab17b23606c9b6ca9fec6d8115240","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3151ce8-b9dd-41a9-99bf-9abe6997ee79","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7aa968eb-dc47-4ab3-ae62-796af79e3630","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843124.5304954} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.345675,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"dc36add0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"dc36add0-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75dd7526-59ef-48f1-9035-67f916506d8b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75dd7526-59ef-48f1-9035-67f916506d8b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:21.889195952Z"}]},"request_id":"1b1a5392-cd14-40d4-9fcb-0f88a9070a42","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843124.5340223} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dc36add0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79/signaling 200 9ms","method":"POST","requestID":"dc36add0-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f25ab17b23606c9b6ca9fec6d8115240","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0daac3a6-736f-4b24-a45e-f6dea713451b"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"76e6a97f0b5f5a0fedf5bfd2a80b31a0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0daac3a6-736f-4b24-a45e-f6dea713451b"},"level":"info","message":"Building connection plan","requestID":"76e6a97f0b5f5a0fedf5bfd2a80b31a0"} 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":"7f0697cc-3850-4b8b-a89a-4b80d8f59e21"},{"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":"4f92e5f4-78c4-465e-97ae-ba8ae1c3b1dd"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"ed1caa7b-79dd-4bea-9022-3d71f123154e"}]},"level":"info","message":"Built pairwise service configurations","requestID":"76e6a97f0b5f5a0fedf5bfd2a80b31a0"} 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/75dd7526-59ef-48f1-9035-67f916506d8b"},{"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/b3151ce8-b9dd-41a9-99bf-9abe6997ee79"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"76e6a97f0b5f5a0fedf5bfd2a80b31a0"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"dc3c2c10-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f25ab17b23606c9b6ca9fec6d8115240"} gateway-1 | {"time_local":"28/Apr/2025:12:25:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/75dd7526-59ef-48f1-9035-67f916506d8b? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f25ab17b23606c9b6ca9fec6d8115240"} device-1 | {"level":"info","message":"GET /devices/75dd7526-59ef-48f1-9035-67f916506d8b? 200 36ms","method":"GET","requestID":"f25ab17b23606c9b6ca9fec6d8115240","responseTime":36,"status":200,"url":"/devices/75dd7526-59ef-48f1-9035-67f916506d8b?"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:24Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.893886,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"dc3c2c10-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843124,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyNH0.M45QZNttvJLL73p6AGnxtsMtVDpzLn9T25nLQM3hKcQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"dc3c2c10-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyNH0.M45QZNttvJLL73p6AGnxtsMtVDpzLn9T25nLQM3hKcQ","level":"info","message":"auth send jwt","requestID":"57305a5fd60fcad1b8ac5445de694022"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"57305a5fd60fcad1b8ac5445de694022","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"57305a5fd60fcad1b8ac5445de694022"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:24Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.810175,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"57305a5fd60fcad1b8ac5445de694022","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843124,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyNH0.M45QZNttvJLL73p6AGnxtsMtVDpzLn9T25nLQM3hKcQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"57305a5fd60fcad1b8ac5445de694022","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","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%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"07892dbe-2b04-49b7-a98a-b7718e3d48e0","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843124.5733905} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c3a540a6-908a-40ed-9ee7-5939a20669c3","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843124.5735238} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3151ce8-b9dd-41a9-99bf-9abe6997ee79","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3151ce8-b9dd-41a9-99bf-9abe6997ee79","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:21.982656468Z"}]},"request_id":"b856ba45-7f9f-49de-8944-381959d25498","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843124.5742455} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"dc3c2c10-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"57305a5fd60fcad1b8ac5445de694022","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"57305a5fd60fcad1b8ac5445de694022"} gateway-1 | {"time_local":"28/Apr/2025:12:25:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79? 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":"57305a5fd60fcad1b8ac5445de694022"} device-1 | {"level":"info","message":"GET /devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79? 200 11ms","method":"GET","requestID":"57305a5fd60fcad1b8ac5445de694022","responseTime":11,"status":200,"url":"/devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"dc3c2c10-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"dc3c2c10-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/3bd0095d-5b27-4f11-b2eb-ee3a32626d69'","requestID":"dc3c2c10-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/3bd0095d-5b27-4f11-b2eb-ee3a32626d69'","requestID":"dc3c2c10-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"dc3c2c10-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 49ms","method":"POST","requestID":"dc3c2c10-242b-11f0-a4ab-3996a0934271","responseTime":49,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"dc3c2c10-242b-11f0-a4ab-3996a0934271"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/3bd0095d-5b27-4f11-b2eb-ee3a32626d69","device":"b3151ce8-b9dd-41a9-99bf-9abe6997ee79","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/0daac3a6-736f-4b24-a45e-f6dea713451b"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"76e6a97f0b5f5a0fedf5bfd2a80b31a0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dc4b2030-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:24Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75dd7526-59ef-48f1-9035-67f916506d8b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4d8afa27-394e-4186-8fd7-98a42f8b369b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843124.6634004} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.252813,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/75dd7526-59ef-48f1-9035-67f916506d8b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"dc4b2030-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/75dd7526-59ef-48f1-9035-67f916506d8b","object_type":"device","rebac_allow":false,"scope_allow":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":"dc4b2030-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dc4b2030-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/75dd7526-59ef-48f1-9035-67f916506d8b/signaling 200 8ms","method":"POST","requestID":"dc4b2030-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/75dd7526-59ef-48f1-9035-67f916506d8b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dc4ca6d0-242b-11f0-a4ab-3996a0934271"} device-1 | {"device":"b3151ce8-b9dd-41a9-99bf-9abe6997ee79","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"b3151ce8-b9dd-41a9-99bf-9abe6997ee79","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:24Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3151ce8-b9dd-41a9-99bf-9abe6997ee79","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"12837b15-74c1-439e-acd2-7508b333731c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843124.6735032} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.796474,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:24Z"} device-1 | {"content":{"sdp":"v=0\r\no=- 4425507037566313356 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:a4Wk\r\na=ice-pwd:q0XlffOsB6xTpUVkCWXTm2Ta\r\na=ice-options:trickle\r\na=fingerprint:sha-256 A1:94:1C:F4:2A:E5:80:03:90:9D:B7:DF:A5:99:2C:9C:A1:8B:D3:8F:29:E3:21:2D:1F:E9:DE:12:49:B3:5F:F0\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"b3151ce8-b9dd-41a9-99bf-9abe6997ee79","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/b3151ce8-b9dd-41a9-99bf-9abe6997ee79","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"dc4ca6d0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dc4ca6d0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dc4ca6d0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79/signaling 200 10ms","method":"POST","requestID":"dc4ca6d0-242b-11f0-a4ab-3996a0934271","responseTime":10,"status":200,"url":"/devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79/signaling"} device-1 | {"device":"b3151ce8-b9dd-41a9-99bf-9abe6997ee79","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"75dd7526-59ef-48f1-9035-67f916506d8b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"3bd0095d-5b27-4f11-b2eb-ee3a32626d69","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"75dd7526-59ef-48f1-9035-67f916506d8b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"75dd7526-59ef-48f1-9035-67f916506d8b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"75dd7526-59ef-48f1-9035-67f916506d8b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"75dd7526-59ef-48f1-9035-67f916506d8b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3bd0095d-5b27-4f11-b2eb-ee3a32626d69' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3bd0095d-5b27-4f11-b2eb-ee3a32626d69","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ed6324e25c384d75b62757f723202259","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ed6324e25c384d75b62757f723202259","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/75dd7526-59ef-48f1-9035-67f916506d8b"},{"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/b3151ce8-b9dd-41a9-99bf-9abe6997ee79"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/3bd0095d-5b27-4f11-b2eb-ee3a32626d69"}}},"level":"info","message":"received a callback","requestID":"ed6324e25c384d75b62757f723202259"} device-1 | {"content":{"candidate":"candidate:2463679632 1 udp 2113937151 d5b5edac-535e-4304-8f65-200d61b05bf8.local 50508 typ host generation 0 ufrag a4Wk network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"b3151ce8-b9dd-41a9-99bf-9abe6997ee79","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"ed6324e25c384d75b62757f723202259","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25: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":"ed6324e25c384d75b62757f723202259"} device-1 | {"device":"b3151ce8-b9dd-41a9-99bf-9abe6997ee79","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"peerconnection":"3bd0095d-5b27-4f11-b2eb-ee3a32626d69","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"75dd7526-59ef-48f1-9035-67f916506d8b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b3151ce8-b9dd-41a9-99bf-9abe6997ee79","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"75dd7526-59ef-48f1-9035-67f916506d8b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"3bd0095d-5b27-4f11-b2eb-ee3a32626d69","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/3bd0095d-5b27-4f11-b2eb-ee3a32626d69' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3bd0095d-5b27-4f11-b2eb-ee3a32626d69","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3631a8e36955f3cd25f0a67c3bcb0477","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3631a8e36955f3cd25f0a67c3bcb0477","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/75dd7526-59ef-48f1-9035-67f916506d8b"},{"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/b3151ce8-b9dd-41a9-99bf-9abe6997ee79"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/3bd0095d-5b27-4f11-b2eb-ee3a32626d69"}}},"level":"info","message":"received a callback","requestID":"3631a8e36955f3cd25f0a67c3bcb0477"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"dd801dc0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:26Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3bd0095d-5b27-4f11-b2eb-ee3a32626d69","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e9d65420-662a-42b4-b73d-c23a9b54783f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843126.6879685} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.101988,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3bd0095d-5b27-4f11-b2eb-ee3a32626d69","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"dd801dc0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/3bd0095d-5b27-4f11-b2eb-ee3a32626d69","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":"dd801dc0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"dd801dc0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /peerconnections/3bd0095d-5b27-4f11-b2eb-ee3a32626d69 200 7ms","method":"GET","requestID":"dd801dc0-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/peerconnections/3bd0095d-5b27-4f11-b2eb-ee3a32626d69"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 27ms","method":"POST","requestID":"3631a8e36955f3cd25f0a67c3bcb0477","responseTime":27,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25: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.029","http_referrer":"","http_user_agent":"node-fetch","requestID":"3631a8e36955f3cd25f0a67c3bcb0477"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dd83c740-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:26Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75dd7526-59ef-48f1-9035-67f916506d8b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3ebef2d1-5462-44c8-a086-91c7915f122f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843126.7118738} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.183124,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/75dd7526-59ef-48f1-9035-67f916506d8b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"dd83c740-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/75dd7526-59ef-48f1-9035-67f916506d8b","object_type":"device","rebac_allow":false,"scope_allow":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":"dd83c740-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dd83c740-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/75dd7526-59ef-48f1-9035-67f916506d8b/signaling 200 7ms","method":"POST","requestID":"dd83c740-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/devices/75dd7526-59ef-48f1-9035-67f916506d8b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dd8526d0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:26Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3151ce8-b9dd-41a9-99bf-9abe6997ee79","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7ffc0696-93b6-4c56-aa45-550e91e2d686","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843126.7210999} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.395585,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"dd8526d0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79","object_type":"device","rebac_allow":false,"scope_allow":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":"dd8526d0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dd8526d0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79/signaling 200 7ms","method":"POST","requestID":"dd8526d0-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyNn0.fXOnGW7aBtMnAd2n6Mtw6gaFh5T4uhU6wI7uXOxkHbA","level":"info","message":"auth send jwt","requestID":"425011ce62c2bce848f2d61161e2bf28"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"425011ce62c2bce848f2d61161e2bf28","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0daac3a6-736f-4b24-a45e-f6dea713451b","requestID":"425011ce62c2bce848f2d61161e2bf28"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:26Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.530938,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0daac3a6-736f-4b24-a45e-f6dea713451b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"425011ce62c2bce848f2d61161e2bf28","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/0daac3a6-736f-4b24-a45e-f6dea713451b","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843126,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyNn0.fXOnGW7aBtMnAd2n6Mtw6gaFh5T4uhU6wI7uXOxkHbA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"425011ce62c2bce848f2d61161e2bf28","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/0daac3a6-736f-4b24-a45e-f6dea713451b","requestID":"425011ce62c2bce848f2d61161e2bf28"} gateway-1 | {"time_local":"28/Apr/2025:12:25:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0daac3a6-736f-4b24-a45e-f6dea713451b HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"425011ce62c2bce848f2d61161e2bf28"} experiment-1 | {"level":"info","message":"GET /experiments/0daac3a6-736f-4b24-a45e-f6dea713451b 200 11ms","method":"GET","requestID":"425011ce62c2bce848f2d61161e2bf28","responseTime":11,"status":200,"url":"/experiments/0daac3a6-736f-4b24-a45e-f6dea713451b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyNn0.fXOnGW7aBtMnAd2n6Mtw6gaFh5T4uhU6wI7uXOxkHbA","level":"info","message":"auth send jwt","requestID":"40900e14b2c47775b3a9db506b95d2ff"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"40900e14b2c47775b3a9db506b95d2ff","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/0daac3a6-736f-4b24-a45e-f6dea713451b","requestID":"40900e14b2c47775b3a9db506b95d2ff"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:26Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.833479,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:26Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0daac3a6-736f-4b24-a45e-f6dea713451b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"40900e14b2c47775b3a9db506b95d2ff","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/0daac3a6-736f-4b24-a45e-f6dea713451b","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843126,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyNn0.fXOnGW7aBtMnAd2n6Mtw6gaFh5T4uhU6wI7uXOxkHbA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"40900e14b2c47775b3a9db506b95d2ff","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0daac3a6-736f-4b24-a45e-f6dea713451b"},"level":"info","message":"Attempting to finish experiment","requestID":"40900e14b2c47775b3a9db506b95d2ff"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"dd95a190-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:26Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.884909,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:26Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3bd0095d-5b27-4f11-b2eb-ee3a32626d69","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"dd95a190-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:http://localhost/peerconnections/3bd0095d-5b27-4f11-b2eb-ee3a32626d69","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843126,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyNn0.fXOnGW7aBtMnAd2n6Mtw6gaFh5T4uhU6wI7uXOxkHbA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"dd95a190-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/3bd0095d-5b27-4f11-b2eb-ee3a32626d69","device":"b3151ce8-b9dd-41a9-99bf-9abe6997ee79","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"75dd7526-59ef-48f1-9035-67f916506d8b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"75dd7526-59ef-48f1-9035-67f916506d8b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"75dd7526-59ef-48f1-9035-67f916506d8b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3bd0095d-5b27-4f11-b2eb-ee3a32626d69' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/3bd0095d-5b27-4f11-b2eb-ee3a32626d69' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3bd0095d-5b27-4f11-b2eb-ee3a32626d69","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3bd0095d-5b27-4f11-b2eb-ee3a32626d69': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3bd0095d-5b27-4f11-b2eb-ee3a32626d69","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"499b3011-c88f-4b2a-ac5c-0035faa5c08e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843126.8391647} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"21ce9480-8ca7-4a9c-a656-a244fe1019c4","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843126.8394442} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0e056ba52c139f9af51411a7f0261439","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0e056ba52c139f9af51411a7f0261439","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6c843a76e3d3b8d91c6251b1004f8358","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"6c843a76e3d3b8d91c6251b1004f8358","responseTime":0,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 31ms","method":"POST","requestID":"dd95a190-242b-11f0-a4ab-3996a0934271","responseTime":31,"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/75dd7526-59ef-48f1-9035-67f916506d8b"},{"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/b3151ce8-b9dd-41a9-99bf-9abe6997ee79"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3bd0095d-5b27-4f11-b2eb-ee3a32626d69"}}},"level":"info","message":"received a callback","requestID":"0e056ba52c139f9af51411a7f0261439"} 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/75dd7526-59ef-48f1-9035-67f916506d8b"},{"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/b3151ce8-b9dd-41a9-99bf-9abe6997ee79"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3bd0095d-5b27-4f11-b2eb-ee3a32626d69"}}},"level":"info","message":"received a callback","requestID":"6c843a76e3d3b8d91c6251b1004f8358"} device-1 | {"data":{"peerconnection":"3bd0095d-5b27-4f11-b2eb-ee3a32626d69","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"dd95a190-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"DELETE /peerconnections/3bd0095d-5b27-4f11-b2eb-ee3a32626d69 204 53ms","method":"DELETE","requestID":"dd95a190-242b-11f0-a4ab-3996a0934271","responseTime":53,"status":204,"url":"/peerconnections/3bd0095d-5b27-4f11-b2eb-ee3a32626d69"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0daac3a6-736f-4b24-a45e-f6dea713451b"},"level":"info","message":"Successfully finished experiment","requestID":"40900e14b2c47775b3a9db506b95d2ff"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dda38440-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:26Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75dd7526-59ef-48f1-9035-67f916506d8b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"47b1dd65-08cc-4e0a-9ecb-da3085c00439","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843126.9210014} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.745749,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/75dd7526-59ef-48f1-9035-67f916506d8b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"dda38440-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/75dd7526-59ef-48f1-9035-67f916506d8b","object_type":"device","rebac_allow":false,"scope_allow":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":"dda38440-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dda38440-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/75dd7526-59ef-48f1-9035-67f916506d8b/signaling 200 8ms","method":"POST","requestID":"dda38440-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/75dd7526-59ef-48f1-9035-67f916506d8b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dda50ae0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0daac3a6-736f-4b24-a45e-f6dea713451b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0daac3a6-736f-4b24-a45e-f6dea713451b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"70ccc0a5-e2f3-4d02-8878-ff871badef65","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843126.9276464} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9e4afde1-168d-4a81-a10d-be00ace36951","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843126.9289627} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:26Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"40900e14b2c47775b3a9db506b95d2ff","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3151ce8-b9dd-41a9-99bf-9abe6997ee79","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e8a64c1b-3037-4be9-8ff2-4c4cf70a3f5b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843126.9312067} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.466039,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"dda50ae0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dda50ae0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dda50ae0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79/signaling 200 9ms","method":"POST","requestID":"dda50ae0-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/b3151ce8-b9dd-41a9-99bf-9abe6997ee79/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/0daac3a6-736f-4b24-a45e-f6dea713451b","requestID":"40900e14b2c47775b3a9db506b95d2ff"} gateway-1 | {"time_local":"28/Apr/2025:12:25:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/0daac3a6-736f-4b24-a45e-f6dea713451b HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.244","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"40900e14b2c47775b3a9db506b95d2ff"} experiment-1 | {"level":"info","message":"DELETE /experiments/0daac3a6-736f-4b24-a45e-f6dea713451b 204 214ms","method":"DELETE","requestID":"40900e14b2c47775b3a9db506b95d2ff","responseTime":214,"status":204,"url":"/experiments/0daac3a6-736f-4b24-a45e-f6dea713451b"} gateway-1 | {"time_local":"28/Apr/2025:12:25:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2542","request_time":"4.083","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"2e723e3abd5941522279e0f3574b52fa"} gateway-1 | {"time_local":"28/Apr/2025:12:25:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.220","http_referrer":"","http_user_agent":"node-fetch","requestID":"0e056ba52c139f9af51411a7f0261439"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 188ms","method":"POST","requestID":"0e056ba52c139f9af51411a7f0261439","responseTime":188,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.220","http_referrer":"","http_user_agent":"node-fetch","requestID":"6c843a76e3d3b8d91c6251b1004f8358"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 188ms","method":"POST","requestID":"6c843a76e3d3b8d91c6251b1004f8358","responseTime":188,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyN30.rG1RkEjtumefeluETFAFuo6IEPlGHYXJ51l6t16ieBM","level":"info","message":"auth send jwt","requestID":"7803f8a3423eb93e5d1fa24f322ff0b5"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7803f8a3423eb93e5d1fa24f322ff0b5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7803f8a3423eb93e5d1fa24f322ff0b5"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.952941,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:27Z"} gateway-1 | {"time_local":"28/Apr/2025:12:25:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2744","request_time":"2.764","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ea7e046abbcf42c2154a21e33ef3a3ba"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"7803f8a3423eb93e5d1fa24f322ff0b5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843127,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyN30.rG1RkEjtumefeluETFAFuo6IEPlGHYXJ51l6t16ieBM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7803f8a3423eb93e5d1fa24f322ff0b5","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/75dd7526-59ef-48f1-9035-67f916506d8b' 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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97a873f2-498c-42f2-bfe6-0a6b8655c01b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7805ef04-f4e4-4864-bed9-9594fb0cf607","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843127.1066682} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"7803f8a3423eb93e5d1fa24f322ff0b5","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"96d9270a-2ae0-44bf-ad07-8124bd861fca","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843127.111043} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"7803f8a3423eb93e5d1fa24f322ff0b5","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/b3151ce8-b9dd-41a9-99bf-9abe6997ee79' closed"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97a873f2-498c-42f2-bfe6-0a6b8655c01b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"5acc9eac-8351-4c80-af13-e2343b65bc9d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843127.1245677} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"172e7d66-d866-482d-8c4d-66eb0ca8200d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843127.1248267} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"7803f8a3423eb93e5d1fa24f322ff0b5","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97a873f2-498c-42f2-bfe6-0a6b8655c01b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97a873f2-498c-42f2-bfe6-0a6b8655c01b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:27.124534527Z"}]},"request_id":"c3f77efb-5092-4c3d-a178-84a3bd10d961","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843127.1290586} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7803f8a3423eb93e5d1fa24f322ff0b5","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7803f8a3423eb93e5d1fa24f322ff0b5"} gateway-1 | {"time_local":"28/Apr/2025:12:25:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.074","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7803f8a3423eb93e5d1fa24f322ff0b5"} device-1 | {"level":"info","message":"POST /devices? 201 68ms","method":"POST","requestID":"7803f8a3423eb93e5d1fa24f322ff0b5","responseTime":68,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyN30.rG1RkEjtumefeluETFAFuo6IEPlGHYXJ51l6t16ieBM","level":"info","message":"auth send jwt","requestID":"553feaaa174aff8252ae6106248bffcb"} authentication-1 | {"level":"info","message":"GET /auth 200 22ms","method":"GET","requestID":"553feaaa174aff8252ae6106248bffcb","responseTime":22,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"553feaaa174aff8252ae6106248bffcb"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.673017,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"553feaaa174aff8252ae6106248bffcb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843127,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyN30.rG1RkEjtumefeluETFAFuo6IEPlGHYXJ51l6t16ieBM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"553feaaa174aff8252ae6106248bffcb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7e8da15-a852-4587-bb07-0dfffa793b7e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8024f65d-8987-4d69-a755-d19e600e6ec3","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843127.1725297} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"553feaaa174aff8252ae6106248bffcb","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b73b1546-0676-4b51-9891-228e81a8c18a","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843127.1766} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"553feaaa174aff8252ae6106248bffcb","responseTime":27,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7e8da15-a852-4587-bb07-0dfffa793b7e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"ebeaf9f1-2499-4a8f-8f0a-338b20ac3848","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843127.2123501} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5bbccae9-686f-4b71-b019-6eca9943e250","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843127.2125056} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"553feaaa174aff8252ae6106248bffcb","responseTime":37,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7e8da15-a852-4587-bb07-0dfffa793b7e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7e8da15-a852-4587-bb07-0dfffa793b7e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:27.212317796Z"}]},"request_id":"fdfcbb78-28f1-48d0-a4b1-542e2530f3bb","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843127.216349} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"553feaaa174aff8252ae6106248bffcb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"553feaaa174aff8252ae6106248bffcb"} device-1 | {"level":"info","message":"POST /devices? 201 61ms","method":"POST","requestID":"553feaaa174aff8252ae6106248bffcb","responseTime":61,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:25:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.086","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"553feaaa174aff8252ae6106248bffcb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyOH0.Iil76n18bLI3wqZDPQ4JlyaGl6Kp4VrF6DxPLXZ42Ss","level":"info","message":"auth send jwt","requestID":"896d0ee0769ea69ebdcd725e6fada3a0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"896d0ee0769ea69ebdcd725e6fada3a0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"896d0ee0769ea69ebdcd725e6fada3a0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyOH0.Iil76n18bLI3wqZDPQ4JlyaGl6Kp4VrF6DxPLXZ42Ss","level":"info","message":"auth send jwt","requestID":"d0c82e07045816e068ffda051e303426"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d0c82e07045816e068ffda051e303426","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"d0c82e07045816e068ffda051e303426"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.609697,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Received request.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"896d0ee0769ea69ebdcd725e6fada3a0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843128,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyOH0.Iil76n18bLI3wqZDPQ4JlyaGl6Kp4VrF6DxPLXZ42Ss"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"896d0ee0769ea69ebdcd725e6fada3a0","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Sent response.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.820867,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"d0c82e07045816e068ffda051e303426","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843128,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyOH0.Iil76n18bLI3wqZDPQ4JlyaGl6Kp4VrF6DxPLXZ42Ss"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d0c82e07045816e068ffda051e303426","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97a873f2-498c-42f2-bfe6-0a6b8655c01b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97a873f2-498c-42f2-bfe6-0a6b8655c01b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:27.124534527Z"}]},"request_id":"30d4737c-fd1d-4c38-a60b-beb0b1d6f576","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843128.1155567} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"896d0ee0769ea69ebdcd725e6fada3a0","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7e8da15-a852-4587-bb07-0dfffa793b7e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7e8da15-a852-4587-bb07-0dfffa793b7e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:27.212317796Z"}]},"request_id":"5fb84feb-2508-41a0-a359-7a34fd8d53c3","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843128.1160605} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d0c82e07045816e068ffda051e303426","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5dfd2fe5-2260-4db6-b6cb-35d2d90c57a8","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843128.1194077} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"896d0ee0769ea69ebdcd725e6fada3a0","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3eb49eaf-b069-4afa-8177-4db07e115878","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843128.120284} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"d0c82e07045816e068ffda051e303426","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7e8da15-a852-4587-bb07-0dfffa793b7e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7e8da15-a852-4587-bb07-0dfffa793b7e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:27.212317796Z"}]},"request_id":"1b8bf426-aa96-432b-8baf-9cd918bffbe3","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843128.1234303} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d0c82e07045816e068ffda051e303426","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"d0c82e07045816e068ffda051e303426"} device-1 | {"level":"info","message":"PATCH /devices/d7e8da15-a852-4587-bb07-0dfffa793b7e 200 42ms","method":"PATCH","requestID":"d0c82e07045816e068ffda051e303426","responseTime":42,"status":200,"url":"/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e"} gateway-1 | {"time_local":"28/Apr/2025:12:25:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/d7e8da15-a852-4587-bb07-0dfffa793b7e HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.045","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"d0c82e07045816e068ffda051e303426"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyOH0.Iil76n18bLI3wqZDPQ4JlyaGl6Kp4VrF6DxPLXZ42Ss","level":"info","message":"auth send jwt","requestID":"13c915ea64e7556528768685053e25a6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"13c915ea64e7556528768685053e25a6","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"13c915ea64e7556528768685053e25a6"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Received request.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Sent response.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.663144,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"13c915ea64e7556528768685053e25a6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843128,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyOH0.Iil76n18bLI3wqZDPQ4JlyaGl6Kp4VrF6DxPLXZ42Ss"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"13c915ea64e7556528768685053e25a6","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97a873f2-498c-42f2-bfe6-0a6b8655c01b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97a873f2-498c-42f2-bfe6-0a6b8655c01b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:27.124534527Z"}]},"request_id":"78693ae9-f76d-4132-a694-e032334e7660","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843128.1324544} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"896d0ee0769ea69ebdcd725e6fada3a0","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"896d0ee0769ea69ebdcd725e6fada3a0"} device-1 | {"level":"info","message":"PATCH /devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b 200 53ms","method":"PATCH","requestID":"896d0ee0769ea69ebdcd725e6fada3a0","responseTime":53,"status":200,"url":"/devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b"} gateway-1 | {"time_local":"28/Apr/2025:12:25:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.056","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"896d0ee0769ea69ebdcd725e6fada3a0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyOH0.Iil76n18bLI3wqZDPQ4JlyaGl6Kp4VrF6DxPLXZ42Ss","level":"info","message":"auth send jwt","requestID":"b1e19e3ee8e0121680203ae69edbe7a0"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"b1e19e3ee8e0121680203ae69edbe7a0","responseTime":26,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"b1e19e3ee8e0121680203ae69edbe7a0"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Received request.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Sent response.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.713479,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b1e19e3ee8e0121680203ae69edbe7a0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843128,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyOH0.Iil76n18bLI3wqZDPQ4JlyaGl6Kp4VrF6DxPLXZ42Ss"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"b1e19e3ee8e0121680203ae69edbe7a0","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"13c915ea64e7556528768685053e25a6"} device-1 | {"level":"info","message":"POST /devices/d7e8da15-a852-4587-bb07-0dfffa793b7e/websocket 200 42ms","method":"POST","requestID":"13c915ea64e7556528768685053e25a6","responseTime":42,"status":200,"url":"/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:25:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d7e8da15-a852-4587-bb07-0dfffa793b7e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.046","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"13c915ea64e7556528768685053e25a6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"b1e19e3ee8e0121680203ae69edbe7a0"} device-1 | {"level":"info","message":"POST /devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b/websocket 200 18ms","method":"POST","requestID":"b1e19e3ee8e0121680203ae69edbe7a0","responseTime":18,"status":200,"url":"/devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:25:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.046","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"b1e19e3ee8e0121680203ae69edbe7a0"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyOH0.Iil76n18bLI3wqZDPQ4JlyaGl6Kp4VrF6DxPLXZ42Ss","level":"info","message":"auth send jwt","requestID":"97bba2af6ced81066b76219cf59d2172"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"97bba2af6ced81066b76219cf59d2172","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"97bba2af6ced81066b76219cf59d2172"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Received request.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Sent response.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.492561,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"97bba2af6ced81066b76219cf59d2172","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843128,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyOH0.Iil76n18bLI3wqZDPQ4JlyaGl6Kp4VrF6DxPLXZ42Ss"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"97bba2af6ced81066b76219cf59d2172","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97a873f2-498c-42f2-bfe6-0a6b8655c01b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97a873f2-498c-42f2-bfe6-0a6b8655c01b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:27.124534527Z"}]},"request_id":"c05b5116-8a94-42c8-a531-cad7e963ec86","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843128.2324913} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"97bba2af6ced81066b76219cf59d2172","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"97bba2af6ced81066b76219cf59d2172"} gateway-1 | {"time_local":"28/Apr/2025:12:25:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b? 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":"97bba2af6ced81066b76219cf59d2172"} device-1 | {"level":"info","message":"GET /devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b? 200 10ms","method":"GET","requestID":"97bba2af6ced81066b76219cf59d2172","responseTime":10,"status":200,"url":"/devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyOH0.Iil76n18bLI3wqZDPQ4JlyaGl6Kp4VrF6DxPLXZ42Ss","level":"info","message":"auth send jwt","requestID":"99639d152c4a0c89337f72c2fab6987a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"99639d152c4a0c89337f72c2fab6987a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"99639d152c4a0c89337f72c2fab6987a"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Received request.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Sent response.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.682988,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"99639d152c4a0c89337f72c2fab6987a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843128,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyOH0.Iil76n18bLI3wqZDPQ4JlyaGl6Kp4VrF6DxPLXZ42Ss"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"99639d152c4a0c89337f72c2fab6987a","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7e8da15-a852-4587-bb07-0dfffa793b7e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7e8da15-a852-4587-bb07-0dfffa793b7e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:27.212317796Z"}]},"request_id":"8ed95c6c-d824-47e2-bac6-ba65a2be9969","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843128.2451138} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"99639d152c4a0c89337f72c2fab6987a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"99639d152c4a0c89337f72c2fab6987a"} gateway-1 | {"time_local":"28/Apr/2025:12:25:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d7e8da15-a852-4587-bb07-0dfffa793b7e? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"99639d152c4a0c89337f72c2fab6987a"} device-1 | {"level":"info","message":"GET /devices/d7e8da15-a852-4587-bb07-0dfffa793b7e? 200 8ms","method":"GET","requestID":"99639d152c4a0c89337f72c2fab6987a","responseTime":8,"status":200,"url":"/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyOH0.Iil76n18bLI3wqZDPQ4JlyaGl6Kp4VrF6DxPLXZ42Ss","level":"info","message":"auth send jwt","requestID":"563af9c5d12f1bd19a34b0599d42a791"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"563af9c5d12f1bd19a34b0599d42a791","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"563af9c5d12f1bd19a34b0599d42a791"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Received request.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Sent response.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.756114,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"563af9c5d12f1bd19a34b0599d42a791","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843128,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyOH0.Iil76n18bLI3wqZDPQ4JlyaGl6Kp4VrF6DxPLXZ42Ss"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"563af9c5d12f1bd19a34b0599d42a791","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1421b85c-7e54-4cb3-890a-403ae7afb43c"},"level":"info","message":"Attempting to run experiment","requestID":"563af9c5d12f1bd19a34b0599d42a791"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1421b85c-7e54-4cb3-890a-403ae7afb43c"},"level":"info","message":"Attempting to book experiment","requestID":"563af9c5d12f1bd19a34b0599d42a791"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1421b85c-7e54-4cb3-890a-403ae7afb43c"},"level":"info","message":"Successfully booked experiment","requestID":"563af9c5d12f1bd19a34b0599d42a791"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"de7441c0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"de7468d0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Received request.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Sent response.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.625939,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.792515,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"de7441c0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843128,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyOH0.Iil76n18bLI3wqZDPQ4JlyaGl6Kp4VrF6DxPLXZ42Ss"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"de7441c0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"de7468d0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843128,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyOH0.Iil76n18bLI3wqZDPQ4JlyaGl6Kp4VrF6DxPLXZ42Ss"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"de7468d0-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97a873f2-498c-42f2-bfe6-0a6b8655c01b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97a873f2-498c-42f2-bfe6-0a6b8655c01b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:27.124534527Z"}]},"request_id":"b5180a9d-a88a-4c26-90f1-00d003569a48","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843128.292859} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"de7441c0-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7e8da15-a852-4587-bb07-0dfffa793b7e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7e8da15-a852-4587-bb07-0dfffa793b7e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:27.212317796Z"}]},"request_id":"dadcb3a3-0a7b-4fa5-a31b-fd647c103aa6","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843128.2934937} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"de7468d0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"de7441c0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b? 200 15ms","method":"GET","requestID":"de7441c0-242b-11f0-a4ab-3996a0934271","responseTime":15,"status":200,"url":"/devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"de7468d0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/d7e8da15-a852-4587-bb07-0dfffa793b7e? 200 15ms","method":"GET","requestID":"de7468d0-242b-11f0-a4ab-3996a0934271","responseTime":15,"status":200,"url":"/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1421b85c-7e54-4cb3-890a-403ae7afb43c"},"level":"info","message":"Setting up experiment","requestID":"563af9c5d12f1bd19a34b0599d42a791"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1421b85c-7e54-4cb3-890a-403ae7afb43c"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"563af9c5d12f1bd19a34b0599d42a791"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1421b85c-7e54-4cb3-890a-403ae7afb43c"},"level":"info","message":"Successfully locked booking for experiment","requestID":"563af9c5d12f1bd19a34b0599d42a791"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1421b85c-7e54-4cb3-890a-403ae7afb43c"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"563af9c5d12f1bd19a34b0599d42a791"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1421b85c-7e54-4cb3-890a-403ae7afb43c"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"563af9c5d12f1bd19a34b0599d42a791"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1421b85c-7e54-4cb3-890a-403ae7afb43c"},"level":"info","message":"Attempting to update booking for experiment","requestID":"563af9c5d12f1bd19a34b0599d42a791"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1421b85c-7e54-4cb3-890a-403ae7afb43c"},"level":"info","message":"Successfully updated booking for experiment","requestID":"563af9c5d12f1bd19a34b0599d42a791"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1421b85c-7e54-4cb3-890a-403ae7afb43c"},"level":"info","message":"Successfully set up experiment","requestID":"563af9c5d12f1bd19a34b0599d42a791"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"de800190-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"de8028a0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"de804fb0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:28Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1421b85c-7e54-4cb3-890a-403ae7afb43c"},"level":"info","message":"Successfully running experiment","requestID":"563af9c5d12f1bd19a34b0599d42a791"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.768114,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Received request.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"de800190-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843128,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyOH0.Iil76n18bLI3wqZDPQ4JlyaGl6Kp4VrF6DxPLXZ42Ss"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"de800190-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Sent response.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.739685,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"client_addr":"127.0.0.1:55368","level":"info","msg":"Received request.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"de8028a0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843128,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyOH0.Iil76n18bLI3wqZDPQ4JlyaGl6Kp4VrF6DxPLXZ42Ss"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"de8028a0-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55368","level":"info","msg":"Sent response.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.649726,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97a873f2-498c-42f2-bfe6-0a6b8655c01b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9ec85bd6-5b86-4f56-9faa-544daa8568f8","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843128.3679686} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"de804fb0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"de804fb0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"de804fb0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7e8da15-a852-4587-bb07-0dfffa793b7e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7e8da15-a852-4587-bb07-0dfffa793b7e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:27.212317796Z"}]},"request_id":"fa551bf0-99f7-4a3f-8c26-57435f9041ce","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843128.3716545} device-1 | {"level":"info","message":"POST /devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b/signaling 200 9ms","method":"POST","requestID":"de804fb0-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"de8028a0-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97a873f2-498c-42f2-bfe6-0a6b8655c01b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97a873f2-498c-42f2-bfe6-0a6b8655c01b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:27.124534527Z"}]},"request_id":"869a081a-43aa-40cd-9e38-1a6e72f32d7b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843128.3724554} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"de800190-242b-11f0-a4ab-3996a0934271","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"de81fd60-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"de8028a0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/d7e8da15-a852-4587-bb07-0dfffa793b7e? 200 39ms","method":"GET","requestID":"de8028a0-242b-11f0-a4ab-3996a0934271","responseTime":39,"status":200,"url":"/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"de800190-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:55368","level":"info","msg":"Received request.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:28Z"} device-1 | {"level":"info","message":"GET /devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b? 200 41ms","method":"GET","requestID":"de800190-242b-11f0-a4ab-3996a0934271","responseTime":41,"status":200,"url":"/devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b?"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1421b85c-7e54-4cb3-890a-403ae7afb43c#owner@http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1421b85c-7e54-4cb3-890a-403ae7afb43c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"f8df8cf2-6205-4ef6-9177-37ef4b26329d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843128.4027376} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5d818c6d-7942-4b4c-9c03-484e5c983960","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843128.40305} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"563af9c5d12f1bd19a34b0599d42a791","responseTime":36,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"de869140-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7e8da15-a852-4587-bb07-0dfffa793b7e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aaec2d7e-5603-4c9e-b815-3af417531085","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843128.4050379} authorization-1 | {"client_addr":"127.0.0.1:55368","level":"info","msg":"Sent response.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":29.080212,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Received request.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"de81fd60-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"de81fd60-242b-11f0-a4ab-3996a0934271","responseTime":32,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"de81fd60-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97a873f2-498c-42f2-bfe6-0a6b8655c01b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"88c3f953-bb8c-41c9-a0b7-53012be64166","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843128.4096406} device-1 | {"level":"info","message":"POST /devices/d7e8da15-a852-4587-bb07-0dfffa793b7e/signaling 200 36ms","method":"POST","requestID":"de81fd60-242b-11f0-a4ab-3996a0934271","responseTime":36,"status":200,"url":"/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e/signaling"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Sent response.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.01771,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"de869140-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b","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/1421b85c-7e54-4cb3-890a-403ae7afb43c","user":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"563af9c5d12f1bd19a34b0599d42a791"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"de869140-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"28/Apr/2025:12:25:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.163","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"563af9c5d12f1bd19a34b0599d42a791"} experiment-1 | {"level":"info","message":"POST /experiments? 201 159ms","method":"POST","requestID":"563af9c5d12f1bd19a34b0599d42a791","responseTime":159,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"de869140-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b/signaling 200 9ms","method":"POST","requestID":"de869140-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyOH0.Iil76n18bLI3wqZDPQ4JlyaGl6Kp4VrF6DxPLXZ42Ss","level":"info","message":"auth send jwt","requestID":"00a4ee262947ff58fbadcd43d2f7982b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"00a4ee262947ff58fbadcd43d2f7982b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"de883ef0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"00a4ee262947ff58fbadcd43d2f7982b"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Received request.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"client_addr":"127.0.0.1:55368","level":"info","msg":"Received request.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"client_addr":"127.0.0.1:55368","level":"info","msg":"Sent response.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.616288,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"00a4ee262947ff58fbadcd43d2f7982b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843128,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyOH0.Iil76n18bLI3wqZDPQ4JlyaGl6Kp4VrF6DxPLXZ42Ss"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"00a4ee262947ff58fbadcd43d2f7982b","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7e8da15-a852-4587-bb07-0dfffa793b7e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a90d7cac-0f69-4dba-ba00-0d22784fa692","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843128.418965} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Sent response.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.160636,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"de883ef0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"de883ef0-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97a873f2-498c-42f2-bfe6-0a6b8655c01b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97a873f2-498c-42f2-bfe6-0a6b8655c01b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:27.124534527Z"}]},"request_id":"86b05d00-c57f-4b0b-9049-f6dd8e68229e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843128.4227846} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"de883ef0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/d7e8da15-a852-4587-bb07-0dfffa793b7e/signaling 200 8ms","method":"POST","requestID":"de883ef0-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"00a4ee262947ff58fbadcd43d2f7982b","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1421b85c-7e54-4cb3-890a-403ae7afb43c"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"563af9c5d12f1bd19a34b0599d42a791"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1421b85c-7e54-4cb3-890a-403ae7afb43c"},"level":"info","message":"Building connection plan","requestID":"563af9c5d12f1bd19a34b0599d42a791"} 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":"91d6e198-4e57-4c3e-9150-e83eabd88f98"},{"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":"ca02256e-e9b9-464a-a471-aa3af6bba35e"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"a3a07dea-9b60-4cca-bed5-2f9a948f34d7"}]},"level":"info","message":"Built pairwise service configurations","requestID":"563af9c5d12f1bd19a34b0599d42a791"} 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/97a873f2-498c-42f2-bfe6-0a6b8655c01b"},{"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/d7e8da15-a852-4587-bb07-0dfffa793b7e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"563af9c5d12f1bd19a34b0599d42a791"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"de8d6f10-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"00a4ee262947ff58fbadcd43d2f7982b"} device-1 | {"level":"info","message":"GET /devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b? 200 35ms","method":"GET","requestID":"00a4ee262947ff58fbadcd43d2f7982b","responseTime":35,"status":200,"url":"/devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b?"} gateway-1 | {"time_local":"28/Apr/2025:12:25:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"00a4ee262947ff58fbadcd43d2f7982b"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Received request.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Sent response.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.708633,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"de8d6f10-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843128,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyOH0.Iil76n18bLI3wqZDPQ4JlyaGl6Kp4VrF6DxPLXZ42Ss"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"de8d6f10-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyOH0.Iil76n18bLI3wqZDPQ4JlyaGl6Kp4VrF6DxPLXZ42Ss","level":"info","message":"auth send jwt","requestID":"8217cc6a01be3d399c0ca2f2b4744fcf"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8217cc6a01be3d399c0ca2f2b4744fcf","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8217cc6a01be3d399c0ca2f2b4744fcf"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Received request.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Sent response.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.692624,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"8217cc6a01be3d399c0ca2f2b4744fcf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843128,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEyOH0.Iil76n18bLI3wqZDPQ4JlyaGl6Kp4VrF6DxPLXZ42Ss"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"8217cc6a01be3d399c0ca2f2b4744fcf","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","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%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"7a3f9ae0-a099-44c2-905e-3aa4393d901f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843128.46154} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2c29a619-0535-4f08-b29f-f25764d1b933","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843128.461737} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7e8da15-a852-4587-bb07-0dfffa793b7e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7e8da15-a852-4587-bb07-0dfffa793b7e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:27.212317796Z"}]},"request_id":"c3713eb5-5dcd-4eab-b042-714bb6954fdf","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843128.4623911} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"de8d6f10-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8217cc6a01be3d399c0ca2f2b4744fcf","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8217cc6a01be3d399c0ca2f2b4744fcf"} gateway-1 | {"time_local":"28/Apr/2025:12:25:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d7e8da15-a852-4587-bb07-0dfffa793b7e? 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":"8217cc6a01be3d399c0ca2f2b4744fcf"} device-1 | {"level":"info","message":"GET /devices/d7e8da15-a852-4587-bb07-0dfffa793b7e? 200 10ms","method":"GET","requestID":"8217cc6a01be3d399c0ca2f2b4744fcf","responseTime":10,"status":200,"url":"/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"de8d6f10-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"de8d6f10-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/5045724d-bd16-4358-8a0b-a56391072320'","requestID":"de8d6f10-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/5045724d-bd16-4358-8a0b-a56391072320'","requestID":"de8d6f10-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"de8d6f10-242b-11f0-a4ab-3996a0934271"} 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":"de8d6f10-242b-11f0-a4ab-3996a0934271","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":"de8d6f10-242b-11f0-a4ab-3996a0934271"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1421b85c-7e54-4cb3-890a-403ae7afb43c"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"563af9c5d12f1bd19a34b0599d42a791"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"de9c8a40-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Received request.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97a873f2-498c-42f2-bfe6-0a6b8655c01b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4208e80d-311e-44c7-a37a-072c2ab9bbcd","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843128.552265} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Sent response.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.28765,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"de9c8a40-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b","object_type":"device","rebac_allow":false,"scope_allow":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":"de9c8a40-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"de9c8a40-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b/signaling 200 7ms","method":"POST","requestID":"de9c8a40-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"de9de9d0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Received request.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7e8da15-a852-4587-bb07-0dfffa793b7e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"011b2a81-83fb-453a-af5c-be7ddd47717f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843128.5607066} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Sent response.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.210921,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"de9de9d0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e","object_type":"device","rebac_allow":false,"scope_allow":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":"de9de9d0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"de9de9d0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/d7e8da15-a852-4587-bb07-0dfffa793b7e/signaling 200 7ms","method":"POST","requestID":"de9de9d0-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e/signaling"} device-1 | {"device":"d7e8da15-a852-4587-bb07-0dfffa793b7e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"5045724d-bd16-4358-8a0b-a56391072320","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"97a873f2-498c-42f2-bfe6-0a6b8655c01b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"5045724d-bd16-4358-8a0b-a56391072320","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"97a873f2-498c-42f2-bfe6-0a6b8655c01b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"97a873f2-498c-42f2-bfe6-0a6b8655c01b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"97a873f2-498c-42f2-bfe6-0a6b8655c01b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"97a873f2-498c-42f2-bfe6-0a6b8655c01b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5045724d-bd16-4358-8a0b-a56391072320' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5045724d-bd16-4358-8a0b-a56391072320","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0f141c626ea6776db21f54b40a105dd3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"0f141c626ea6776db21f54b40a105dd3","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b"},{"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/d7e8da15-a852-4587-bb07-0dfffa793b7e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/5045724d-bd16-4358-8a0b-a56391072320"}}},"level":"info","message":"received a callback","requestID":"0f141c626ea6776db21f54b40a105dd3"} device-1 | {"device":"d7e8da15-a852-4587-bb07-0dfffa793b7e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d7e8da15-a852-4587-bb07-0dfffa793b7e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d7e8da15-a852-4587-bb07-0dfffa793b7e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"0f141c626ea6776db21f54b40a105dd3","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"0f141c626ea6776db21f54b40a105dd3"} device-1 | {"data":{"peerconnection":"5045724d-bd16-4358-8a0b-a56391072320","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"97a873f2-498c-42f2-bfe6-0a6b8655c01b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d7e8da15-a852-4587-bb07-0dfffa793b7e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"97a873f2-498c-42f2-bfe6-0a6b8655c01b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d7e8da15-a852-4587-bb07-0dfffa793b7e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"5045724d-bd16-4358-8a0b-a56391072320","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/5045724d-bd16-4358-8a0b-a56391072320' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5045724d-bd16-4358-8a0b-a56391072320","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"27fa9c070512e1d234a060349affc3aa","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"27fa9c070512e1d234a060349affc3aa","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/97a873f2-498c-42f2-bfe6-0a6b8655c01b"},{"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/d7e8da15-a852-4587-bb07-0dfffa793b7e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/5045724d-bd16-4358-8a0b-a56391072320"}}},"level":"info","message":"received a callback","requestID":"27fa9c070512e1d234a060349affc3aa"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"dfd446f0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Received request.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:30Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5045724d-bd16-4358-8a0b-a56391072320","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ffdb6ef1-0025-4d64-9f9b-b6d04cd20e5c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843130.5956326} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Sent response.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.229011,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5045724d-bd16-4358-8a0b-a56391072320","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"dfd446f0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/5045724d-bd16-4358-8a0b-a56391072320","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":"dfd446f0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"dfd446f0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /peerconnections/5045724d-bd16-4358-8a0b-a56391072320 200 8ms","method":"GET","requestID":"dfd446f0-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/peerconnections/5045724d-bd16-4358-8a0b-a56391072320"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 23ms","method":"POST","requestID":"27fa9c070512e1d234a060349affc3aa","responseTime":23,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch","requestID":"27fa9c070512e1d234a060349affc3aa"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dfd77b40-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Received request.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:30Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97a873f2-498c-42f2-bfe6-0a6b8655c01b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d3232aa9-bed1-4e40-aa78-efe431569bc3","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843130.616949} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Sent response.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.844285,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"dfd77b40-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"dfd77b40-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dfd77b40-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b/signaling 200 10ms","method":"POST","requestID":"dfd77b40-242b-11f0-a4ab-3996a0934271","responseTime":10,"status":200,"url":"/devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dfd928f0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Received request.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:30Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7e8da15-a852-4587-bb07-0dfffa793b7e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8b4a99ee-45a0-4f60-82db-f5742bb08c07","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843130.6275432} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Sent response.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.244868,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"dfd928f0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dfd928f0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dfd928f0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/d7e8da15-a852-4587-bb07-0dfffa793b7e/signaling 200 8ms","method":"POST","requestID":"dfd928f0-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzMH0._gz57d5NwgVYn1AwD429lnu620PooL52h9r2mDPcamA","level":"info","message":"auth send jwt","requestID":"bcc26a94d36316e18900604f1a0b1576"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"bcc26a94d36316e18900604f1a0b1576","responseTime":27,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/1421b85c-7e54-4cb3-890a-403ae7afb43c","requestID":"bcc26a94d36316e18900604f1a0b1576"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Received request.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:30Z"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Sent response.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.723359,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1421b85c-7e54-4cb3-890a-403ae7afb43c","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"bcc26a94d36316e18900604f1a0b1576","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/1421b85c-7e54-4cb3-890a-403ae7afb43c","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843130,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzMH0._gz57d5NwgVYn1AwD429lnu620PooL52h9r2mDPcamA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bcc26a94d36316e18900604f1a0b1576","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/1421b85c-7e54-4cb3-890a-403ae7afb43c","requestID":"bcc26a94d36316e18900604f1a0b1576"} gateway-1 | {"time_local":"28/Apr/2025:12:25:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/1421b85c-7e54-4cb3-890a-403ae7afb43c HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bcc26a94d36316e18900604f1a0b1576"} experiment-1 | {"level":"info","message":"GET /experiments/1421b85c-7e54-4cb3-890a-403ae7afb43c 200 8ms","method":"GET","requestID":"bcc26a94d36316e18900604f1a0b1576","responseTime":8,"status":200,"url":"/experiments/1421b85c-7e54-4cb3-890a-403ae7afb43c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzMH0._gz57d5NwgVYn1AwD429lnu620PooL52h9r2mDPcamA","level":"info","message":"auth send jwt","requestID":"95be7bc92f345ec478af968d93e50340"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"95be7bc92f345ec478af968d93e50340","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/1421b85c-7e54-4cb3-890a-403ae7afb43c","requestID":"95be7bc92f345ec478af968d93e50340"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Received request.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:30Z"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Sent response.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.746405,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:30Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1421b85c-7e54-4cb3-890a-403ae7afb43c","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"95be7bc92f345ec478af968d93e50340","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/1421b85c-7e54-4cb3-890a-403ae7afb43c","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843130,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzMH0._gz57d5NwgVYn1AwD429lnu620PooL52h9r2mDPcamA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"95be7bc92f345ec478af968d93e50340","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1421b85c-7e54-4cb3-890a-403ae7afb43c"},"level":"info","message":"Attempting to finish experiment","requestID":"95be7bc92f345ec478af968d93e50340"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"dfe8e060-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Received request.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:30Z"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Sent response.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":24.781498,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:30Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5045724d-bd16-4358-8a0b-a56391072320","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"dfe8e060-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:http://localhost/peerconnections/5045724d-bd16-4358-8a0b-a56391072320","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843130,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzMH0._gz57d5NwgVYn1AwD429lnu620PooL52h9r2mDPcamA"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"dfe8e060-242b-11f0-a4ab-3996a0934271","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"device":"97a873f2-498c-42f2-bfe6-0a6b8655c01b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"97a873f2-498c-42f2-bfe6-0a6b8655c01b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"97a873f2-498c-42f2-bfe6-0a6b8655c01b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d7e8da15-a852-4587-bb07-0dfffa793b7e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d7e8da15-a852-4587-bb07-0dfffa793b7e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d7e8da15-a852-4587-bb07-0dfffa793b7e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5045724d-bd16-4358-8a0b-a56391072320' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/5045724d-bd16-4358-8a0b-a56391072320' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5045724d-bd16-4358-8a0b-a56391072320","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5045724d-bd16-4358-8a0b-a56391072320': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5045724d-bd16-4358-8a0b-a56391072320","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"5d5c9756-c9af-4e71-998e-56d987202a19","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843130.7632022} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a3c4b574-d56a-40d0-8289-d5d8797a33a5","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843130.763417} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3f470891779ad89893940c546a8ef528","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"dfe8e060-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3f470891779ad89893940c546a8ef528","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1037e063e74f97b63ba9ed97d8ab7dd0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/97a873f2-498c-42f2-bfe6-0a6b8655c01b"},{"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/d7e8da15-a852-4587-bb07-0dfffa793b7e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5045724d-bd16-4358-8a0b-a56391072320"}}},"level":"info","message":"received a callback","requestID":"3f470891779ad89893940c546a8ef528"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1037e063e74f97b63ba9ed97d8ab7dd0","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/97a873f2-498c-42f2-bfe6-0a6b8655c01b"},{"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/d7e8da15-a852-4587-bb07-0dfffa793b7e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5045724d-bd16-4358-8a0b-a56391072320"}}},"level":"info","message":"received a callback","requestID":"1037e063e74f97b63ba9ed97d8ab7dd0"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"dfe8e060-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"DELETE /peerconnections/5045724d-bd16-4358-8a0b-a56391072320 204 48ms","method":"DELETE","requestID":"dfe8e060-242b-11f0-a4ab-3996a0934271","responseTime":48,"status":204,"url":"/peerconnections/5045724d-bd16-4358-8a0b-a56391072320"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1421b85c-7e54-4cb3-890a-403ae7afb43c"},"level":"info","message":"Successfully finished experiment","requestID":"95be7bc92f345ec478af968d93e50340"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dff69c00-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Received request.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:30Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97a873f2-498c-42f2-bfe6-0a6b8655c01b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"80519906-be16-47ca-ac8d-4cba3f16b589","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843130.8203835} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Sent response.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.300541,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"dff69c00-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b","object_type":"device","rebac_allow":false,"scope_allow":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":"dff69c00-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dff69c00-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b/signaling 200 8ms","method":"POST","requestID":"dff69c00-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/97a873f2-498c-42f2-bfe6-0a6b8655c01b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dffbcc20-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1421b85c-7e54-4cb3-890a-403ae7afb43c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1421b85c-7e54-4cb3-890a-403ae7afb43c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"ebc91d33-86f2-4b47-b04e-177a51cb5328","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843130.8515344} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0e18428a-0100-4813-9210-0e23e82f20ca","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843130.8517027} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"95be7bc92f345ec478af968d93e50340","responseTime":38,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Received request.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:30Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7e8da15-a852-4587-bb07-0dfffa793b7e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c3a55f10-1478-4d3d-904f-89482980537e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843130.854003} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Sent response.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.334871,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"dffbcc20-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e","object_type":"device","rebac_allow":false,"scope_allow":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":"dffbcc20-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dffbcc20-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/d7e8da15-a852-4587-bb07-0dfffa793b7e/signaling 200 8ms","method":"POST","requestID":"dffbcc20-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/1421b85c-7e54-4cb3-890a-403ae7afb43c","requestID":"95be7bc92f345ec478af968d93e50340"} gateway-1 | {"time_local":"28/Apr/2025:12:25:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/1421b85c-7e54-4cb3-890a-403ae7afb43c 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":"95be7bc92f345ec478af968d93e50340"} experiment-1 | {"level":"info","message":"DELETE /experiments/1421b85c-7e54-4cb3-890a-403ae7afb43c 204 181ms","method":"DELETE","requestID":"95be7bc92f345ec478af968d93e50340","responseTime":181,"status":204,"url":"/experiments/1421b85c-7e54-4cb3-890a-403ae7afb43c"} gateway-1 | {"time_local":"28/Apr/2025:12:25:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2751","request_time":"2.715","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"62dfc67ab8977135bad82b72c21b7b32"} gateway-1 | {"time_local":"28/Apr/2025:12:25:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2749","request_time":"2.725","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"f6ebefcfead81358013b71b27bad72b6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzMH0._gz57d5NwgVYn1AwD429lnu620PooL52h9r2mDPcamA","level":"info","message":"auth send jwt","requestID":"15c72fa8c809763f5e4932154a3b9730"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 137ms","method":"POST","requestID":"3f470891779ad89893940c546a8ef528","responseTime":137,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"15c72fa8c809763f5e4932154a3b9730","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 137ms","method":"POST","requestID":"1037e063e74f97b63ba9ed97d8ab7dd0","responseTime":137,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.140","http_referrer":"","http_user_agent":"node-fetch","requestID":"3f470891779ad89893940c546a8ef528"} gateway-1 | {"time_local":"28/Apr/2025:12:25:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.141","http_referrer":"","http_user_agent":"node-fetch","requestID":"1037e063e74f97b63ba9ed97d8ab7dd0"} device-1 | {"level":"info","message":"postDevices called","requestID":"15c72fa8c809763f5e4932154a3b9730"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d7e8da15-a852-4587-bb07-0dfffa793b7e' closed"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Received request.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:30Z"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Sent response.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.034444,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"15c72fa8c809763f5e4932154a3b9730","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843130,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzMH0._gz57d5NwgVYn1AwD429lnu620PooL52h9r2mDPcamA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"15c72fa8c809763f5e4932154a3b9730","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/97a873f2-498c-42f2-bfe6-0a6b8655c01b' 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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31f0553c-c35e-49dc-b463-c375dcf3b815","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3b7ae3ec-b4d6-405a-8131-fb870cab9616","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843130.9229782} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"15c72fa8c809763f5e4932154a3b9730","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5fe90319-b9ea-4fce-b164-c19b0fc47e53","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843130.928528} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"15c72fa8c809763f5e4932154a3b9730","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31f0553c-c35e-49dc-b463-c375dcf3b815","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"772c9edf-e44c-4192-85bc-8907c0b7737f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843130.941209} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"66198159-0ff2-4a6d-9cc5-4f68aca75281","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843130.941463} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"15c72fa8c809763f5e4932154a3b9730","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31f0553c-c35e-49dc-b463-c375dcf3b815","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31f0553c-c35e-49dc-b463-c375dcf3b815","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:30.941167357Z"}]},"request_id":"be9f9314-7731-409a-8b48-a7e230889638","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843130.9461083} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"15c72fa8c809763f5e4932154a3b9730","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"15c72fa8c809763f5e4932154a3b9730"} gateway-1 | {"time_local":"28/Apr/2025:12:25:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"15c72fa8c809763f5e4932154a3b9730"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"15c72fa8c809763f5e4932154a3b9730","responseTime":42,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzMH0._gz57d5NwgVYn1AwD429lnu620PooL52h9r2mDPcamA","level":"info","message":"auth send jwt","requestID":"33691f32ad0eb657622f7a68c93e8e2c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"33691f32ad0eb657622f7a68c93e8e2c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"33691f32ad0eb657622f7a68c93e8e2c"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Received request.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:30Z"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Sent response.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.83862,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"33691f32ad0eb657622f7a68c93e8e2c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843130,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzMH0._gz57d5NwgVYn1AwD429lnu620PooL52h9r2mDPcamA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"33691f32ad0eb657622f7a68c93e8e2c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b3da150-5c2f-45b8-b2e9-8630d6f11dab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6fce6548-938b-42e9-b978-01520fd46a4e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843130.9700725} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"33691f32ad0eb657622f7a68c93e8e2c","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1c13d587-1b25-4d5b-a9e0-1f9484583644","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843130.9791923} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"33691f32ad0eb657622f7a68c93e8e2c","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b3da150-5c2f-45b8-b2e9-8630d6f11dab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"f1ccb731-8280-4f29-bc13-1b389d3010f8","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843131.0043495} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3e1c2d05-3562-45a0-8e40-8d64d8be92fc","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843131.0045621} authorization-1 | {"level":"info","message":"POST /relations/update 200 26ms","method":"POST","requestID":"33691f32ad0eb657622f7a68c93e8e2c","responseTime":26,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b3da150-5c2f-45b8-b2e9-8630d6f11dab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b3da150-5c2f-45b8-b2e9-8630d6f11dab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:31.004323656Z"}]},"request_id":"4350fc8d-9b18-4285-a682-f9a970a95c99","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843131.0076413} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"33691f32ad0eb657622f7a68c93e8e2c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"33691f32ad0eb657622f7a68c93e8e2c"} gateway-1 | {"time_local":"28/Apr/2025:12:25: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.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"33691f32ad0eb657622f7a68c93e8e2c"} device-1 | {"level":"info","message":"POST /devices? 201 56ms","method":"POST","requestID":"33691f32ad0eb657622f7a68c93e8e2c","responseTime":56,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzMX0.kxUcju8R2JWx61fDRgaX0iIF0DBpftdlJWXKoY15c30","level":"info","message":"auth send jwt","requestID":"430e15135be3dd20c417516eccfd2733"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"430e15135be3dd20c417516eccfd2733","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzMX0.kxUcju8R2JWx61fDRgaX0iIF0DBpftdlJWXKoY15c30","level":"info","message":"auth send jwt","requestID":"b6fbc2b1786a19ff602b6937be1675f7"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b6fbc2b1786a19ff602b6937be1675f7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"430e15135be3dd20c417516eccfd2733"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"b6fbc2b1786a19ff602b6937be1675f7"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Received request.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:31Z"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Sent response.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.639067,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:31Z"} authorization-1 | {"client_addr":"127.0.0.1:55368","level":"info","msg":"Received request.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/31f0553c-c35e-49dc-b463-c375dcf3b815","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"430e15135be3dd20c417516eccfd2733","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/31f0553c-c35e-49dc-b463-c375dcf3b815","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843131,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzMX0.kxUcju8R2JWx61fDRgaX0iIF0DBpftdlJWXKoY15c30"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"430e15135be3dd20c417516eccfd2733","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55368","level":"info","msg":"Sent response.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.608509,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b6fbc2b1786a19ff602b6937be1675f7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843131,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzMX0.kxUcju8R2JWx61fDRgaX0iIF0DBpftdlJWXKoY15c30"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"b6fbc2b1786a19ff602b6937be1675f7","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31f0553c-c35e-49dc-b463-c375dcf3b815","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31f0553c-c35e-49dc-b463-c375dcf3b815","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:30.941167357Z"}]},"request_id":"7d15fb5c-38fb-4cd2-9ab4-94798002f01b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843131.873952} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"430e15135be3dd20c417516eccfd2733","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b3da150-5c2f-45b8-b2e9-8630d6f11dab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b3da150-5c2f-45b8-b2e9-8630d6f11dab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:31.004323656Z"}]},"request_id":"15dee5ab-d444-4288-ae09-767c6b443c62","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843131.8745234} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b6fbc2b1786a19ff602b6937be1675f7","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fecf6dc5-3291-4efe-9316-3105be38effa","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843131.8779035} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"430e15135be3dd20c417516eccfd2733","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2e9b5b0a-b74f-4c59-aa50-8cb796dce1d7","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843131.8788252} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"b6fbc2b1786a19ff602b6937be1675f7","responseTime":2,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b3da150-5c2f-45b8-b2e9-8630d6f11dab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b3da150-5c2f-45b8-b2e9-8630d6f11dab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:31.004323656Z"}]},"request_id":"37a2bb03-6091-4762-aade-8bf23fe67b55","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843131.9054735} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"b6fbc2b1786a19ff602b6937be1675f7","responseTime":26,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"b6fbc2b1786a19ff602b6937be1675f7"} gateway-1 | {"time_local":"28/Apr/2025:12:25:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.047","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"b6fbc2b1786a19ff602b6937be1675f7"} device-1 | {"level":"info","message":"PATCH /devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab 200 41ms","method":"PATCH","requestID":"b6fbc2b1786a19ff602b6937be1675f7","responseTime":41,"status":200,"url":"/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzMX0.kxUcju8R2JWx61fDRgaX0iIF0DBpftdlJWXKoY15c30","level":"info","message":"auth send jwt","requestID":"14bb94445278150adc5b71d41de074ca"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"14bb94445278150adc5b71d41de074ca","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"14bb94445278150adc5b71d41de074ca"} authorization-1 | {"client_addr":"127.0.0.1:55368","level":"info","msg":"Received request.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:31Z"} authorization-1 | {"client_addr":"127.0.0.1:55368","level":"info","msg":"Sent response.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.918873,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"14bb94445278150adc5b71d41de074ca","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843131,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzMX0.kxUcju8R2JWx61fDRgaX0iIF0DBpftdlJWXKoY15c30"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"14bb94445278150adc5b71d41de074ca","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31f0553c-c35e-49dc-b463-c375dcf3b815","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31f0553c-c35e-49dc-b463-c375dcf3b815","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:30.941167357Z"}]},"request_id":"cd4b75c9-754e-45c6-8fe1-65e586325b48","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843131.9148088} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"430e15135be3dd20c417516eccfd2733","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"430e15135be3dd20c417516eccfd2733"} device-1 | {"level":"info","message":"PATCH /devices/31f0553c-c35e-49dc-b463-c375dcf3b815 200 52ms","method":"PATCH","requestID":"430e15135be3dd20c417516eccfd2733","responseTime":52,"status":200,"url":"/devices/31f0553c-c35e-49dc-b463-c375dcf3b815"} gateway-1 | {"time_local":"28/Apr/2025:12:25:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/31f0553c-c35e-49dc-b463-c375dcf3b815 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.057","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"430e15135be3dd20c417516eccfd2733"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzMX0.kxUcju8R2JWx61fDRgaX0iIF0DBpftdlJWXKoY15c30","level":"info","message":"auth send jwt","requestID":"aaf2207831e0a6813de483c80ddbbfcd"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"aaf2207831e0a6813de483c80ddbbfcd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"aaf2207831e0a6813de483c80ddbbfcd"} authorization-1 | {"client_addr":"127.0.0.1:55368","level":"info","msg":"Received request.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:31Z"} authorization-1 | {"client_addr":"127.0.0.1:55368","level":"info","msg":"Sent response.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.659894,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/31f0553c-c35e-49dc-b463-c375dcf3b815","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"aaf2207831e0a6813de483c80ddbbfcd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/31f0553c-c35e-49dc-b463-c375dcf3b815","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843131,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzMX0.kxUcju8R2JWx61fDRgaX0iIF0DBpftdlJWXKoY15c30"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"aaf2207831e0a6813de483c80ddbbfcd","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"14bb94445278150adc5b71d41de074ca"} gateway-1 | {"time_local":"28/Apr/2025:12:25:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.046","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"14bb94445278150adc5b71d41de074ca"} device-1 | {"level":"info","message":"POST /devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab/websocket 200 42ms","method":"POST","requestID":"14bb94445278150adc5b71d41de074ca","responseTime":42,"status":200,"url":"/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"aaf2207831e0a6813de483c80ddbbfcd"} gateway-1 | {"time_local":"28/Apr/2025:12:25:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/31f0553c-c35e-49dc-b463-c375dcf3b815/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.045","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"aaf2207831e0a6813de483c80ddbbfcd"} device-1 | {"level":"info","message":"POST /devices/31f0553c-c35e-49dc-b463-c375dcf3b815/websocket 200 42ms","method":"POST","requestID":"aaf2207831e0a6813de483c80ddbbfcd","responseTime":42,"status":200,"url":"/devices/31f0553c-c35e-49dc-b463-c375dcf3b815/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/31f0553c-c35e-49dc-b463-c375dcf3b815' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzMn0.OZRfAqOUGjg4RdeiMdFkbFNRMSdHYoGltdwMEDVSZAw","level":"info","message":"auth send jwt","requestID":"4cce6371f6e9dcef8a8c42d6175c2993"} authentication-1 | {"level":"info","message":"GET /auth 200 23ms","method":"GET","requestID":"4cce6371f6e9dcef8a8c42d6175c2993","responseTime":23,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4cce6371f6e9dcef8a8c42d6175c2993"} authorization-1 | {"client_addr":"127.0.0.1:55368","level":"info","msg":"Received request.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:32Z"} authorization-1 | {"client_addr":"127.0.0.1:55368","level":"info","msg":"Sent response.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.688382,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/31f0553c-c35e-49dc-b463-c375dcf3b815","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"4cce6371f6e9dcef8a8c42d6175c2993","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/31f0553c-c35e-49dc-b463-c375dcf3b815","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843132,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzMn0.OZRfAqOUGjg4RdeiMdFkbFNRMSdHYoGltdwMEDVSZAw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4cce6371f6e9dcef8a8c42d6175c2993","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31f0553c-c35e-49dc-b463-c375dcf3b815","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31f0553c-c35e-49dc-b463-c375dcf3b815","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:30.941167357Z"}]},"request_id":"7905f4c2-64a0-467c-bfca-e4f34b0a8720","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843132.0087352} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4cce6371f6e9dcef8a8c42d6175c2993","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4cce6371f6e9dcef8a8c42d6175c2993"} gateway-1 | {"time_local":"28/Apr/2025:12:25:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/31f0553c-c35e-49dc-b463-c375dcf3b815? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4cce6371f6e9dcef8a8c42d6175c2993"} device-1 | {"level":"info","message":"GET /devices/31f0553c-c35e-49dc-b463-c375dcf3b815? 200 9ms","method":"GET","requestID":"4cce6371f6e9dcef8a8c42d6175c2993","responseTime":9,"status":200,"url":"/devices/31f0553c-c35e-49dc-b463-c375dcf3b815?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzMn0.OZRfAqOUGjg4RdeiMdFkbFNRMSdHYoGltdwMEDVSZAw","level":"info","message":"auth send jwt","requestID":"1f5065117a8963580b2ffab75db12dea"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1f5065117a8963580b2ffab75db12dea","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1f5065117a8963580b2ffab75db12dea"} authorization-1 | {"client_addr":"127.0.0.1:55368","level":"info","msg":"Received request.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:32Z"} authorization-1 | {"client_addr":"127.0.0.1:55368","level":"info","msg":"Sent response.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.665699,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"1f5065117a8963580b2ffab75db12dea","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843132,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzMn0.OZRfAqOUGjg4RdeiMdFkbFNRMSdHYoGltdwMEDVSZAw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1f5065117a8963580b2ffab75db12dea","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b3da150-5c2f-45b8-b2e9-8630d6f11dab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b3da150-5c2f-45b8-b2e9-8630d6f11dab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:31.004323656Z"}]},"request_id":"07358f4f-7eb8-43c7-a90f-d3469b01a3d8","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843132.0215664} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"1f5065117a8963580b2ffab75db12dea","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1f5065117a8963580b2ffab75db12dea"} gateway-1 | {"time_local":"28/Apr/2025:12:25:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab? 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":"1f5065117a8963580b2ffab75db12dea"} device-1 | {"level":"info","message":"GET /devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab? 200 9ms","method":"GET","requestID":"1f5065117a8963580b2ffab75db12dea","responseTime":9,"status":200,"url":"/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzMn0.OZRfAqOUGjg4RdeiMdFkbFNRMSdHYoGltdwMEDVSZAw","level":"info","message":"auth send jwt","requestID":"a2759fba9189814b3d088b760d8651b5"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a2759fba9189814b3d088b760d8651b5","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"a2759fba9189814b3d088b760d8651b5"} authorization-1 | {"client_addr":"127.0.0.1:55368","level":"info","msg":"Received request.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:32Z"} authorization-1 | {"client_addr":"127.0.0.1:55368","level":"info","msg":"Sent response.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.666771,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a2759fba9189814b3d088b760d8651b5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843132,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzMn0.OZRfAqOUGjg4RdeiMdFkbFNRMSdHYoGltdwMEDVSZAw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a2759fba9189814b3d088b760d8651b5","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e0049ee-6e8e-4430-a427-ce97f9e94092"},"level":"info","message":"Attempting to run experiment","requestID":"a2759fba9189814b3d088b760d8651b5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e0049ee-6e8e-4430-a427-ce97f9e94092"},"level":"info","message":"Attempting to book experiment","requestID":"a2759fba9189814b3d088b760d8651b5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e0049ee-6e8e-4430-a427-ce97f9e94092"},"level":"info","message":"Successfully booked experiment","requestID":"a2759fba9189814b3d088b760d8651b5"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e0bafd70-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e0bb2480-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:55368","level":"info","msg":"Received request.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:32Z"} authorization-1 | {"client_addr":"127.0.0.1:55368","level":"info","msg":"Sent response.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.612281,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:32Z"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Received request.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/31f0553c-c35e-49dc-b463-c375dcf3b815","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e0bafd70-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/31f0553c-c35e-49dc-b463-c375dcf3b815","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843132,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzMn0.OZRfAqOUGjg4RdeiMdFkbFNRMSdHYoGltdwMEDVSZAw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e0bafd70-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Sent response.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.578286,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e0bb2480-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843132,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzMn0.OZRfAqOUGjg4RdeiMdFkbFNRMSdHYoGltdwMEDVSZAw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e0bb2480-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31f0553c-c35e-49dc-b463-c375dcf3b815","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31f0553c-c35e-49dc-b463-c375dcf3b815","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:30.941167357Z"}]},"request_id":"fd863e50-90fc-4151-8c78-bd020cd6fd11","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843132.1131325} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e0bafd70-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b3da150-5c2f-45b8-b2e9-8630d6f11dab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b3da150-5c2f-45b8-b2e9-8630d6f11dab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:31.004323656Z"}]},"request_id":"829505e5-d0d6-4bcb-bb3d-5faa52f61bbb","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843132.1145027} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e0bb2480-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e0bafd70-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/31f0553c-c35e-49dc-b463-c375dcf3b815? 200 15ms","method":"GET","requestID":"e0bafd70-242b-11f0-a4ab-3996a0934271","responseTime":15,"status":200,"url":"/devices/31f0553c-c35e-49dc-b463-c375dcf3b815?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e0bb2480-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab? 200 41ms","method":"GET","requestID":"e0bb2480-242b-11f0-a4ab-3996a0934271","responseTime":41,"status":200,"url":"/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e0049ee-6e8e-4430-a427-ce97f9e94092"},"level":"info","message":"Setting up experiment","requestID":"a2759fba9189814b3d088b760d8651b5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e0049ee-6e8e-4430-a427-ce97f9e94092"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"a2759fba9189814b3d088b760d8651b5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e0049ee-6e8e-4430-a427-ce97f9e94092"},"level":"info","message":"Successfully locked booking for experiment","requestID":"a2759fba9189814b3d088b760d8651b5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e0049ee-6e8e-4430-a427-ce97f9e94092"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"a2759fba9189814b3d088b760d8651b5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e0049ee-6e8e-4430-a427-ce97f9e94092"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"a2759fba9189814b3d088b760d8651b5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e0049ee-6e8e-4430-a427-ce97f9e94092"},"level":"info","message":"Attempting to update booking for experiment","requestID":"a2759fba9189814b3d088b760d8651b5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e0049ee-6e8e-4430-a427-ce97f9e94092"},"level":"info","message":"Successfully updated booking for experiment","requestID":"a2759fba9189814b3d088b760d8651b5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e0049ee-6e8e-4430-a427-ce97f9e94092"},"level":"info","message":"Successfully set up experiment","requestID":"a2759fba9189814b3d088b760d8651b5"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e0ca66c0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e0cab4e0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e0cadbf0-242b-11f0-a4ab-3996a0934271"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e0049ee-6e8e-4430-a427-ce97f9e94092"},"level":"info","message":"Successfully running experiment","requestID":"a2759fba9189814b3d088b760d8651b5"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Received request.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:32Z"} authorization-1 | {"client_addr":"127.0.0.1:55380","level":"info","msg":"Sent response.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.656916,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:32Z"} authorization-1 | {"client_addr":"127.0.0.1:55368","level":"info","msg":"Received request.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:32Z"} authorization-1 | {"client_addr":"127.0.0.1:55368","level":"info","msg":"Sent response.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.50833,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/31f0553c-c35e-49dc-b463-c375dcf3b815","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e0ca66c0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/31f0553c-c35e-49dc-b463-c375dcf3b815","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843132,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzMn0.OZRfAqOUGjg4RdeiMdFkbFNRMSdHYoGltdwMEDVSZAw"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"e0ca66c0-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e0cab4e0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843132,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzMn0.OZRfAqOUGjg4RdeiMdFkbFNRMSdHYoGltdwMEDVSZAw"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e0cab4e0-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31f0553c-c35e-49dc-b463-c375dcf3b815","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4f398ed1-9f50-492d-8882-d79fd450e5cd","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843132.2128816} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.386536,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/31f0553c-c35e-49dc-b463-c375dcf3b815","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e0cadbf0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/31f0553c-c35e-49dc-b463-c375dcf3b815","object_type":"device","rebac_allow":false,"scope_allow":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":"e0cadbf0-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b3da150-5c2f-45b8-b2e9-8630d6f11dab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b3da150-5c2f-45b8-b2e9-8630d6f11dab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:31.004323656Z"}]},"request_id":"bd0d27eb-3653-4654-b8cc-61baf36d53ea","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843132.2185955} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e0cab4e0-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31f0553c-c35e-49dc-b463-c375dcf3b815","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31f0553c-c35e-49dc-b463-c375dcf3b815","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:30.941167357Z"}]},"request_id":"7c00fe63-0526-417b-978c-d7dadc29c8c5","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843132.2192109} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e0ca66c0-242b-11f0-a4ab-3996a0934271","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e0cadbf0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/31f0553c-c35e-49dc-b463-c375dcf3b815/signaling 200 37ms","method":"POST","requestID":"e0cadbf0-242b-11f0-a4ab-3996a0934271","responseTime":37,"status":200,"url":"/devices/31f0553c-c35e-49dc-b463-c375dcf3b815/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e0ca66c0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/31f0553c-c35e-49dc-b463-c375dcf3b815? 200 41ms","method":"GET","requestID":"e0ca66c0-242b-11f0-a4ab-3996a0934271","responseTime":41,"status":200,"url":"/devices/31f0553c-c35e-49dc-b463-c375dcf3b815?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e0cab4e0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab? 200 40ms","method":"GET","requestID":"e0cab4e0-242b-11f0-a4ab-3996a0934271","responseTime":40,"status":200,"url":"/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e0d0f670-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4e0049ee-6e8e-4430-a427-ce97f9e94092#owner@http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4e0049ee-6e8e-4430-a427-ce97f9e94092","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"90a7e682-4c0f-4de6-89cc-4e5a06288b06","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843132.2477968} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3403495f-ac58-4c17-8406-31f18590d6b0","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843132.2479987} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e0d14490-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"a2759fba9189814b3d088b760d8651b5","responseTime":40,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:32Z"} authorization-1 | {"client_addr":"127.0.0.1:55368","level":"info","msg":"Received request.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:32Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b3da150-5c2f-45b8-b2e9-8630d6f11dab","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e242306a-d0ff-4c98-a721-e08009307958","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843132.2529728} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.411083,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e0d0f670-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab","object_type":"device","rebac_allow":false,"scope_allow":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":"e0d0f670-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31f0553c-c35e-49dc-b463-c375dcf3b815","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e928b336-6941-416f-9049-846cd5f9bc91","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843132.2538877} authorization-1 | {"client_addr":"127.0.0.1:55368","level":"info","msg":"Sent response.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.603372,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:32Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/4e0049ee-6e8e-4430-a427-ce97f9e94092","user":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"a2759fba9189814b3d088b760d8651b5"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/31f0553c-c35e-49dc-b463-c375dcf3b815","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e0d14490-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/31f0553c-c35e-49dc-b463-c375dcf3b815","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e0d14490-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"28/Apr/2025:12:25:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.207","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a2759fba9189814b3d088b760d8651b5"} experiment-1 | {"level":"info","message":"POST /experiments? 201 203ms","method":"POST","requestID":"a2759fba9189814b3d088b760d8651b5","responseTime":203,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e0d0f670-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab/signaling 200 12ms","method":"POST","requestID":"e0d0f670-242b-11f0-a4ab-3996a0934271","responseTime":12,"status":200,"url":"/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e0d14490-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/31f0553c-c35e-49dc-b463-c375dcf3b815/signaling 200 11ms","method":"POST","requestID":"e0d14490-242b-11f0-a4ab-3996a0934271","responseTime":11,"status":200,"url":"/devices/31f0553c-c35e-49dc-b463-c375dcf3b815/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzMn0.OZRfAqOUGjg4RdeiMdFkbFNRMSdHYoGltdwMEDVSZAw","level":"info","message":"auth send jwt","requestID":"c0f24b7ddde078f41542684ff6b2ddbe"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c0f24b7ddde078f41542684ff6b2ddbe","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c0f24b7ddde078f41542684ff6b2ddbe"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e0d34060-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:55368","level":"info","msg":"Received request.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:32Z"} authorization-1 | {"client_addr":"127.0.0.1:55368","level":"info","msg":"Sent response.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.6375,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/31f0553c-c35e-49dc-b463-c375dcf3b815","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c0f24b7ddde078f41542684ff6b2ddbe","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/31f0553c-c35e-49dc-b463-c375dcf3b815","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843132,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzMn0.OZRfAqOUGjg4RdeiMdFkbFNRMSdHYoGltdwMEDVSZAw"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"c0f24b7ddde078f41542684ff6b2ddbe","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b3da150-5c2f-45b8-b2e9-8630d6f11dab","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"366daf55-3c7e-4b9b-8e2e-0114cfd7c5ec","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843132.29053} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.557595,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e0d34060-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"e0d34060-242b-11f0-a4ab-3996a0934271","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e0d34060-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31f0553c-c35e-49dc-b463-c375dcf3b815","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31f0553c-c35e-49dc-b463-c375dcf3b815","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:30.941167357Z"}]},"request_id":"dba285d4-e8fc-45db-83fa-5289278f14c8","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843132.2940469} device-1 | {"level":"info","message":"POST /devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab/signaling 200 32ms","method":"POST","requestID":"e0d34060-242b-11f0-a4ab-3996a0934271","responseTime":32,"status":200,"url":"/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c0f24b7ddde078f41542684ff6b2ddbe","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e0049ee-6e8e-4430-a427-ce97f9e94092"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"a2759fba9189814b3d088b760d8651b5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e0049ee-6e8e-4430-a427-ce97f9e94092"},"level":"info","message":"Building connection plan","requestID":"a2759fba9189814b3d088b760d8651b5"} 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":"3e8f0b20-5e04-4a22-9d8a-55059277fe68"},{"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":"f211317f-9f8a-4fbf-ba5d-ae99576eb9db"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"5d9e8df7-20b4-48e1-a0e0-86f91fc41fdf"}]},"level":"info","message":"Built pairwise service configurations","requestID":"a2759fba9189814b3d088b760d8651b5"} 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/7b3da150-5c2f-45b8-b2e9-8630d6f11dab"},{"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/31f0553c-c35e-49dc-b463-c375dcf3b815"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"a2759fba9189814b3d088b760d8651b5"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"e0d87080-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c0f24b7ddde078f41542684ff6b2ddbe"} gateway-1 | {"time_local":"28/Apr/2025:12:25:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/31f0553c-c35e-49dc-b463-c375dcf3b815? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c0f24b7ddde078f41542684ff6b2ddbe"} device-1 | {"level":"info","message":"GET /devices/31f0553c-c35e-49dc-b463-c375dcf3b815? 200 37ms","method":"GET","requestID":"c0f24b7ddde078f41542684ff6b2ddbe","responseTime":37,"status":200,"url":"/devices/31f0553c-c35e-49dc-b463-c375dcf3b815?"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.710259,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e0d87080-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843132,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzMn0.OZRfAqOUGjg4RdeiMdFkbFNRMSdHYoGltdwMEDVSZAw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e0d87080-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzMn0.OZRfAqOUGjg4RdeiMdFkbFNRMSdHYoGltdwMEDVSZAw","level":"info","message":"auth send jwt","requestID":"5d1b8d4faca2d748036898ebc7ac00b9"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5d1b8d4faca2d748036898ebc7ac00b9","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5d1b8d4faca2d748036898ebc7ac00b9"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.652954,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"5d1b8d4faca2d748036898ebc7ac00b9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843132,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzMn0.OZRfAqOUGjg4RdeiMdFkbFNRMSdHYoGltdwMEDVSZAw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5d1b8d4faca2d748036898ebc7ac00b9","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","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%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"1d21ec99-1346-4796-bc00-ea9082279e98","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843132.3079946} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0f1d1d5d-7e18-44b8-8305-65eafb703a8b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843132.3081872} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b3da150-5c2f-45b8-b2e9-8630d6f11dab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b3da150-5c2f-45b8-b2e9-8630d6f11dab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:31.004323656Z"}]},"request_id":"d5361573-1ba0-443d-b0f7-a0da87085f82","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843132.3087575} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"e0d87080-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5d1b8d4faca2d748036898ebc7ac00b9","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5d1b8d4faca2d748036898ebc7ac00b9"} device-1 | {"level":"info","message":"GET /devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab? 200 35ms","method":"GET","requestID":"5d1b8d4faca2d748036898ebc7ac00b9","responseTime":35,"status":200,"url":"/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab?"} gateway-1 | {"time_local":"28/Apr/2025:12:25:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5d1b8d4faca2d748036898ebc7ac00b9"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"e0d87080-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"e0d87080-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/4e04b5cb-adf3-450d-8f08-a1f4b0de5c04'","requestID":"e0d87080-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/4e04b5cb-adf3-450d-8f08-a1f4b0de5c04'","requestID":"e0d87080-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"e0d87080-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 51ms","method":"POST","requestID":"e0d87080-242b-11f0-a4ab-3996a0934271","responseTime":51,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"e0d87080-242b-11f0-a4ab-3996a0934271"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e0049ee-6e8e-4430-a427-ce97f9e94092"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"a2759fba9189814b3d088b760d8651b5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e0e7b2c0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:32Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31f0553c-c35e-49dc-b463-c375dcf3b815","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3ca3ad46-5a7e-4a40-bbf8-7773f97e4e7c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843132.4004703} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.36942,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/31f0553c-c35e-49dc-b463-c375dcf3b815","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e0e7b2c0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/31f0553c-c35e-49dc-b463-c375dcf3b815","object_type":"device","rebac_allow":false,"scope_allow":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":"e0e7b2c0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e0e7b2c0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/31f0553c-c35e-49dc-b463-c375dcf3b815/signaling 200 8ms","method":"POST","requestID":"e0e7b2c0-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/31f0553c-c35e-49dc-b463-c375dcf3b815/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e0e91250-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:32Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b3da150-5c2f-45b8-b2e9-8630d6f11dab","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"90472b75-cfb6-4bfd-8950-dc29fced36a1","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843132.4090939} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.198664,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e0e91250-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e0e91250-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e0e91250-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab/signaling 200 32ms","method":"POST","requestID":"e0e91250-242b-11f0-a4ab-3996a0934271","responseTime":32,"status":200,"url":"/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab/signaling"} device-1 | {"device":"31f0553c-c35e-49dc-b463-c375dcf3b815","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"4e04b5cb-adf3-450d-8f08-a1f4b0de5c04","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"7b3da150-5c2f-45b8-b2e9-8630d6f11dab","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"4e04b5cb-adf3-450d-8f08-a1f4b0de5c04","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"7b3da150-5c2f-45b8-b2e9-8630d6f11dab","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7b3da150-5c2f-45b8-b2e9-8630d6f11dab","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7b3da150-5c2f-45b8-b2e9-8630d6f11dab","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7b3da150-5c2f-45b8-b2e9-8630d6f11dab","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/4e04b5cb-adf3-450d-8f08-a1f4b0de5c04' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4e04b5cb-adf3-450d-8f08-a1f4b0de5c04","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"41ecea05a8dba6068bd378477bb59b12","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"41ecea05a8dba6068bd378477bb59b12","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/7b3da150-5c2f-45b8-b2e9-8630d6f11dab"},{"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/31f0553c-c35e-49dc-b463-c375dcf3b815"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/4e04b5cb-adf3-450d-8f08-a1f4b0de5c04"}}},"level":"info","message":"received a callback","requestID":"41ecea05a8dba6068bd378477bb59b12"} device-1 | {"device":"31f0553c-c35e-49dc-b463-c375dcf3b815","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"31f0553c-c35e-49dc-b463-c375dcf3b815","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"31f0553c-c35e-49dc-b463-c375dcf3b815","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"41ecea05a8dba6068bd378477bb59b12","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"41ecea05a8dba6068bd378477bb59b12"} device-1 | {"data":{"peerconnection":"4e04b5cb-adf3-450d-8f08-a1f4b0de5c04","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"7b3da150-5c2f-45b8-b2e9-8630d6f11dab","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"31f0553c-c35e-49dc-b463-c375dcf3b815","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7b3da150-5c2f-45b8-b2e9-8630d6f11dab","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"31f0553c-c35e-49dc-b463-c375dcf3b815","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"4e04b5cb-adf3-450d-8f08-a1f4b0de5c04","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/4e04b5cb-adf3-450d-8f08-a1f4b0de5c04' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4e04b5cb-adf3-450d-8f08-a1f4b0de5c04","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ffdeba4dba3563a25f6626cf77c1517a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ffdeba4dba3563a25f6626cf77c1517a","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/7b3da150-5c2f-45b8-b2e9-8630d6f11dab"},{"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/31f0553c-c35e-49dc-b463-c375dcf3b815"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/4e04b5cb-adf3-450d-8f08-a1f4b0de5c04"}}},"level":"info","message":"received a callback","requestID":"ffdeba4dba3563a25f6626cf77c1517a"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"e21fe4a0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:34Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4e04b5cb-adf3-450d-8f08-a1f4b0de5c04","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"017aa6e0-0663-4d5a-918c-9c676347b03c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843134.4464588} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.094743,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4e04b5cb-adf3-450d-8f08-a1f4b0de5c04","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e21fe4a0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/4e04b5cb-adf3-450d-8f08-a1f4b0de5c04","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":"e21fe4a0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"e21fe4a0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /peerconnections/4e04b5cb-adf3-450d-8f08-a1f4b0de5c04 200 7ms","method":"GET","requestID":"e21fe4a0-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/peerconnections/4e04b5cb-adf3-450d-8f08-a1f4b0de5c04"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 28ms","method":"POST","requestID":"ffdeba4dba3563a25f6626cf77c1517a","responseTime":28,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch","requestID":"ffdeba4dba3563a25f6626cf77c1517a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e223dc40-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:34Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b3da150-5c2f-45b8-b2e9-8630d6f11dab","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"878eb4d1-c5a8-4c35-ac01-ac4c4350f67f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843134.4724743} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.693317,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e223dc40-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"e223dc40-242b-11f0-a4ab-3996a0934271","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e223dc40-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab/signaling 200 32ms","method":"POST","requestID":"e223dc40-242b-11f0-a4ab-3996a0934271","responseTime":32,"status":200,"url":"/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e2290c60-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:34Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31f0553c-c35e-49dc-b463-c375dcf3b815","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d8d31906-5a18-492b-8a7e-41113b5c8216","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843134.5062547} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.691321,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/31f0553c-c35e-49dc-b463-c375dcf3b815","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e2290c60-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/31f0553c-c35e-49dc-b463-c375dcf3b815","object_type":"device","rebac_allow":false,"scope_allow":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":"e2290c60-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e2290c60-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/31f0553c-c35e-49dc-b463-c375dcf3b815/signaling 200 8ms","method":"POST","requestID":"e2290c60-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/31f0553c-c35e-49dc-b463-c375dcf3b815/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzNH0.jssEgAuDm8Vx8rlwUX7IHswMSq37B41k3Di2JSi26m4","level":"info","message":"auth send jwt","requestID":"66714f9fab91c365e3011a3e92c03d9a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"66714f9fab91c365e3011a3e92c03d9a","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4e0049ee-6e8e-4430-a427-ce97f9e94092","requestID":"66714f9fab91c365e3011a3e92c03d9a"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:34Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.731713,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4e0049ee-6e8e-4430-a427-ce97f9e94092","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"66714f9fab91c365e3011a3e92c03d9a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/4e0049ee-6e8e-4430-a427-ce97f9e94092","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843134,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzNH0.jssEgAuDm8Vx8rlwUX7IHswMSq37B41k3Di2JSi26m4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"66714f9fab91c365e3011a3e92c03d9a","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/4e0049ee-6e8e-4430-a427-ce97f9e94092","requestID":"66714f9fab91c365e3011a3e92c03d9a"} gateway-1 | {"time_local":"28/Apr/2025:12:25:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4e0049ee-6e8e-4430-a427-ce97f9e94092 HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"66714f9fab91c365e3011a3e92c03d9a"} experiment-1 | {"level":"info","message":"GET /experiments/4e0049ee-6e8e-4430-a427-ce97f9e94092 200 9ms","method":"GET","requestID":"66714f9fab91c365e3011a3e92c03d9a","responseTime":9,"status":200,"url":"/experiments/4e0049ee-6e8e-4430-a427-ce97f9e94092"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzNH0.jssEgAuDm8Vx8rlwUX7IHswMSq37B41k3Di2JSi26m4","level":"info","message":"auth send jwt","requestID":"9007ffce92720bc16a0e1c6178e8eec6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9007ffce92720bc16a0e1c6178e8eec6","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/4e0049ee-6e8e-4430-a427-ce97f9e94092","requestID":"9007ffce92720bc16a0e1c6178e8eec6"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:34Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.688979,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:34Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4e0049ee-6e8e-4430-a427-ce97f9e94092","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9007ffce92720bc16a0e1c6178e8eec6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/4e0049ee-6e8e-4430-a427-ce97f9e94092","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843134,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzNH0.jssEgAuDm8Vx8rlwUX7IHswMSq37B41k3Di2JSi26m4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"9007ffce92720bc16a0e1c6178e8eec6","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e0049ee-6e8e-4430-a427-ce97f9e94092"},"level":"info","message":"Attempting to finish experiment","requestID":"9007ffce92720bc16a0e1c6178e8eec6"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"e232f770-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:34Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.706799,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:34Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4e04b5cb-adf3-450d-8f08-a1f4b0de5c04","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e232f770-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:http://localhost/peerconnections/4e04b5cb-adf3-450d-8f08-a1f4b0de5c04","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843134,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzNH0.jssEgAuDm8Vx8rlwUX7IHswMSq37B41k3Di2JSi26m4"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"e232f770-242b-11f0-a4ab-3996a0934271","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"device":"7b3da150-5c2f-45b8-b2e9-8630d6f11dab","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7b3da150-5c2f-45b8-b2e9-8630d6f11dab","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7b3da150-5c2f-45b8-b2e9-8630d6f11dab","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"31f0553c-c35e-49dc-b463-c375dcf3b815","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"31f0553c-c35e-49dc-b463-c375dcf3b815","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"31f0553c-c35e-49dc-b463-c375dcf3b815","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":49,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/4e04b5cb-adf3-450d-8f08-a1f4b0de5c04' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/4e04b5cb-adf3-450d-8f08-a1f4b0de5c04' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4e04b5cb-adf3-450d-8f08-a1f4b0de5c04","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f7952b1b2e2627a10c085ccaba540724","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f7952b1b2e2627a10c085ccaba540724","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4e04b5cb-adf3-450d-8f08-a1f4b0de5c04': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4e04b5cb-adf3-450d-8f08-a1f4b0de5c04","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"bad2445e-5af5-42a4-bd16-a97bcd1975bf","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843134.6061587} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c4ae95aa8e7fae946e6699fa5da191ac","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab"},{"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/31f0553c-c35e-49dc-b463-c375dcf3b815"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4e04b5cb-adf3-450d-8f08-a1f4b0de5c04"}}},"level":"info","message":"received a callback","requestID":"f7952b1b2e2627a10c085ccaba540724"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3ae61f7c-901b-4e98-a2a3-f936016abb2b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843134.6062713} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"c4ae95aa8e7fae946e6699fa5da191ac","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab"},{"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/31f0553c-c35e-49dc-b463-c375dcf3b815"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4e04b5cb-adf3-450d-8f08-a1f4b0de5c04"}}},"level":"info","message":"received a callback","requestID":"c4ae95aa8e7fae946e6699fa5da191ac"} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"e232f770-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"4e04b5cb-adf3-450d-8f08-a1f4b0de5c04","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"e232f770-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"DELETE /peerconnections/4e04b5cb-adf3-450d-8f08-a1f4b0de5c04 204 74ms","method":"DELETE","requestID":"e232f770-242b-11f0-a4ab-3996a0934271","responseTime":74,"status":204,"url":"/peerconnections/4e04b5cb-adf3-450d-8f08-a1f4b0de5c04"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4e0049ee-6e8e-4430-a427-ce97f9e94092"},"level":"info","message":"Successfully finished experiment","requestID":"9007ffce92720bc16a0e1c6178e8eec6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e2403de0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:34Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b3da150-5c2f-45b8-b2e9-8630d6f11dab","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9726ecf0-07d3-427c-b2c9-75e6c04932a6","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843134.6589599} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.554654,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e2403de0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab","object_type":"device","rebac_allow":false,"scope_allow":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":"e2403de0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e2403de0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab/signaling 200 8ms","method":"POST","requestID":"e2403de0-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/7b3da150-5c2f-45b8-b2e9-8630d6f11dab/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e241c480-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4e0049ee-6e8e-4430-a427-ce97f9e94092': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4e0049ee-6e8e-4430-a427-ce97f9e94092","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"bab06451-29dd-47b0-b95d-fcf62178f078","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843134.6906142} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8e7996b6-a3ef-40ea-a975-e11aeb146e4b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843134.6910257} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:34Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"9007ffce92720bc16a0e1c6178e8eec6","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31f0553c-c35e-49dc-b463-c375dcf3b815","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9643896c-9267-4410-a9b3-74e643bd9b2b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843134.6929538} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.165429,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/31f0553c-c35e-49dc-b463-c375dcf3b815","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e241c480-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/31f0553c-c35e-49dc-b463-c375dcf3b815","object_type":"device","rebac_allow":false,"scope_allow":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":"e241c480-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e241c480-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/31f0553c-c35e-49dc-b463-c375dcf3b815/signaling 200 32ms","method":"POST","requestID":"e241c480-242b-11f0-a4ab-3996a0934271","responseTime":32,"status":200,"url":"/devices/31f0553c-c35e-49dc-b463-c375dcf3b815/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/4e0049ee-6e8e-4430-a427-ce97f9e94092","requestID":"9007ffce92720bc16a0e1c6178e8eec6"} gateway-1 | {"time_local":"28/Apr/2025:12:25:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/4e0049ee-6e8e-4430-a427-ce97f9e94092 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.237","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9007ffce92720bc16a0e1c6178e8eec6"} experiment-1 | {"level":"info","message":"DELETE /experiments/4e0049ee-6e8e-4430-a427-ce97f9e94092 204 235ms","method":"DELETE","requestID":"9007ffce92720bc16a0e1c6178e8eec6","responseTime":235,"status":204,"url":"/experiments/4e0049ee-6e8e-4430-a427-ce97f9e94092"} gateway-1 | {"time_local":"28/Apr/2025:12:25:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2749","request_time":"2.837","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"6dbd74dea60108f8a9733639495f8c43"} gateway-1 | {"time_local":"28/Apr/2025:12:25:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2751","request_time":"2.827","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"a701b6755a867e73700c18815d4eab37"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 188ms","method":"POST","requestID":"f7952b1b2e2627a10c085ccaba540724","responseTime":188,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.192","http_referrer":"","http_user_agent":"node-fetch","requestID":"f7952b1b2e2627a10c085ccaba540724"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 188ms","method":"POST","requestID":"c4ae95aa8e7fae946e6699fa5da191ac","responseTime":188,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.192","http_referrer":"","http_user_agent":"node-fetch","requestID":"c4ae95aa8e7fae946e6699fa5da191ac"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzNH0.jssEgAuDm8Vx8rlwUX7IHswMSq37B41k3Di2JSi26m4","level":"info","message":"auth send jwt","requestID":"ef1fe2d427bb970c920a3622efa678b6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ef1fe2d427bb970c920a3622efa678b6","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"ef1fe2d427bb970c920a3622efa678b6"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/31f0553c-c35e-49dc-b463-c375dcf3b815' closed"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:34Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.968582,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ef1fe2d427bb970c920a3622efa678b6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843134,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzNH0.jssEgAuDm8Vx8rlwUX7IHswMSq37B41k3Di2JSi26m4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ef1fe2d427bb970c920a3622efa678b6","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/7b3da150-5c2f-45b8-b2e9-8630d6f11dab' 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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8c490d9-bdac-49d1-8adc-adc4bdc439ca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2b6ebd4a-6719-4471-a7c7-b5e84ce2a3a3","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843134.8197825} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ef1fe2d427bb970c920a3622efa678b6","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"91987422-5872-4b19-b0c2-f9910af32757","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843134.8258777} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"ef1fe2d427bb970c920a3622efa678b6","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8c490d9-bdac-49d1-8adc-adc4bdc439ca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"f8be887e-fcbf-485f-a581-4fa836539789","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843134.8358521} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6b237c27-e7b4-499d-8c42-a41827b10c2f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843134.8360157} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"ef1fe2d427bb970c920a3622efa678b6","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8c490d9-bdac-49d1-8adc-adc4bdc439ca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8c490d9-bdac-49d1-8adc-adc4bdc439ca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:34.835813740Z"}]},"request_id":"3a53fe10-ede0-4ea5-a9ca-e7d08d64927e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843134.8404505} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ef1fe2d427bb970c920a3622efa678b6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"ef1fe2d427bb970c920a3622efa678b6"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"ef1fe2d427bb970c920a3622efa678b6","responseTime":41,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:25:34 +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":"ef1fe2d427bb970c920a3622efa678b6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzNH0.jssEgAuDm8Vx8rlwUX7IHswMSq37B41k3Di2JSi26m4","level":"info","message":"auth send jwt","requestID":"70852d6d6193f839fcc685c9b428b22e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"70852d6d6193f839fcc685c9b428b22e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"70852d6d6193f839fcc685c9b428b22e"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:34Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.724038,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"70852d6d6193f839fcc685c9b428b22e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843134,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzNH0.jssEgAuDm8Vx8rlwUX7IHswMSq37B41k3Di2JSi26m4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"70852d6d6193f839fcc685c9b428b22e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4c775ad-d31f-44a9-a6e5-085f07a720fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"21343c8e-1b9d-4921-8fac-056500f893a2","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843134.8657784} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"70852d6d6193f839fcc685c9b428b22e","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"49d2924e-9736-490f-8d74-c24c17e91397","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843134.8703434} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"70852d6d6193f839fcc685c9b428b22e","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4c775ad-d31f-44a9-a6e5-085f07a720fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"c0f01a3b-ec6b-4484-8436-96a2a86334c8","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843134.8800292} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a8faeaed-876e-4837-8c1d-87237debee97","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843134.880288} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"70852d6d6193f839fcc685c9b428b22e","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4c775ad-d31f-44a9-a6e5-085f07a720fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4c775ad-d31f-44a9-a6e5-085f07a720fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:34.880001656Z"}]},"request_id":"477ca759-65c8-4454-8f9b-deb04aad63fb","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843134.8843315} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"70852d6d6193f839fcc685c9b428b22e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"70852d6d6193f839fcc685c9b428b22e"} gateway-1 | {"time_local":"28/Apr/2025:12:25:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"70852d6d6193f839fcc685c9b428b22e"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"70852d6d6193f839fcc685c9b428b22e","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"de109316a7b352e575bc116348446678","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"de109316a7b352e575bc116348446678","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe/websocket 200 1ms","method":"OPTIONS","requestID":"de109316a7b352e575bc116348446678","responseTime":1,"status":200,"url":"/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:25:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe/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":"de109316a7b352e575bc116348446678"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzN30.XtjE4niqh3Ygny6sDaAAcLGRqvaM5dByVFVcZS7Ah-k","level":"info","message":"auth send jwt","requestID":"b9d20e27b82c2b906a0667845ebf0ddc"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b9d20e27b82c2b906a0667845ebf0ddc","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"b9d20e27b82c2b906a0667845ebf0ddc"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"28d1fca7d52ac0e8bfcba08c5cbd275f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"28d1fca7d52ac0e8bfcba08c5cbd275f","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:25:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca/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":"28d1fca7d52ac0e8bfcba08c5cbd275f"} device-1 | {"level":"info","message":"OPTIONS /devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca/websocket 200 1ms","method":"OPTIONS","requestID":"28d1fca7d52ac0e8bfcba08c5cbd275f","responseTime":1,"status":200,"url":"/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca/websocket"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.474259,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"b9d20e27b82c2b906a0667845ebf0ddc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843137,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzN30.XtjE4niqh3Ygny6sDaAAcLGRqvaM5dByVFVcZS7Ah-k"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b9d20e27b82c2b906a0667845ebf0ddc","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzN30.XtjE4niqh3Ygny6sDaAAcLGRqvaM5dByVFVcZS7Ah-k","level":"info","message":"auth send jwt","requestID":"803e25b91414decc0851c1e16a69ab94"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"803e25b91414decc0851c1e16a69ab94","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"803e25b91414decc0851c1e16a69ab94"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.29684,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"803e25b91414decc0851c1e16a69ab94","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843137,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzN30.XtjE4niqh3Ygny6sDaAAcLGRqvaM5dByVFVcZS7Ah-k"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"803e25b91414decc0851c1e16a69ab94","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"b9d20e27b82c2b906a0667845ebf0ddc"} gateway-1 | {"time_local":"28/Apr/2025:12:25:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.033","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b9d20e27b82c2b906a0667845ebf0ddc"} device-1 | {"level":"info","message":"POST /devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe/websocket 200 26ms","method":"POST","requestID":"b9d20e27b82c2b906a0667845ebf0ddc","responseTime":26,"status":200,"url":"/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"803e25b91414decc0851c1e16a69ab94"} device-1 | {"level":"info","message":"POST /devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca/websocket 200 44ms","method":"POST","requestID":"803e25b91414decc0851c1e16a69ab94","responseTime":44,"status":200,"url":"/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca/websocket"} gateway-1 | {"time_local":"28/Apr/2025:12:25:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.051","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"803e25b91414decc0851c1e16a69ab94"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzN30.XtjE4niqh3Ygny6sDaAAcLGRqvaM5dByVFVcZS7Ah-k","level":"info","message":"auth send jwt","requestID":"0b94e635d0310f0c93fa1fb4a67ca61c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0b94e635d0310f0c93fa1fb4a67ca61c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0b94e635d0310f0c93fa1fb4a67ca61c"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.508215,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"0b94e635d0310f0c93fa1fb4a67ca61c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843137,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzN30.XtjE4niqh3Ygny6sDaAAcLGRqvaM5dByVFVcZS7Ah-k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0b94e635d0310f0c93fa1fb4a67ca61c","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8c490d9-bdac-49d1-8adc-adc4bdc439ca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8c490d9-bdac-49d1-8adc-adc4bdc439ca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:34.835813740Z"}]},"request_id":"e19071cd-f33e-4aff-a0d4-2b76b8606ac5","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843137.3031332} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0b94e635d0310f0c93fa1fb4a67ca61c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0b94e635d0310f0c93fa1fb4a67ca61c"} gateway-1 | {"time_local":"28/Apr/2025:12:25:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0b94e635d0310f0c93fa1fb4a67ca61c"} device-1 | {"level":"info","message":"GET /devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca? 200 35ms","method":"GET","requestID":"0b94e635d0310f0c93fa1fb4a67ca61c","responseTime":35,"status":200,"url":"/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzN30.XtjE4niqh3Ygny6sDaAAcLGRqvaM5dByVFVcZS7Ah-k","level":"info","message":"auth send jwt","requestID":"3ac925726465e9abc449651d53aadf20"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3ac925726465e9abc449651d53aadf20","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3ac925726465e9abc449651d53aadf20"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.786728,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"3ac925726465e9abc449651d53aadf20","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843137,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzN30.XtjE4niqh3Ygny6sDaAAcLGRqvaM5dByVFVcZS7Ah-k"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3ac925726465e9abc449651d53aadf20","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4c775ad-d31f-44a9-a6e5-085f07a720fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4c775ad-d31f-44a9-a6e5-085f07a720fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:34.880001656Z"}]},"request_id":"5930827b-78b1-479e-a358-6529e763c974","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843137.3415675} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3ac925726465e9abc449651d53aadf20","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3ac925726465e9abc449651d53aadf20"} gateway-1 | {"time_local":"28/Apr/2025:12:25:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3ac925726465e9abc449651d53aadf20"} device-1 | {"level":"info","message":"GET /devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe? 200 9ms","method":"GET","requestID":"3ac925726465e9abc449651d53aadf20","responseTime":9,"status":200,"url":"/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzN30.XtjE4niqh3Ygny6sDaAAcLGRqvaM5dByVFVcZS7Ah-k","level":"info","message":"auth send jwt","requestID":"3f7e781f126df5e9ede3204e1fe0f204"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3f7e781f126df5e9ede3204e1fe0f204","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"3f7e781f126df5e9ede3204e1fe0f204"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.739978,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"3f7e781f126df5e9ede3204e1fe0f204","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843137,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzN30.XtjE4niqh3Ygny6sDaAAcLGRqvaM5dByVFVcZS7Ah-k"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"3f7e781f126df5e9ede3204e1fe0f204","responseTime":27,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb156f1f-57bd-4654-b55f-bf8418af3f7c"},"level":"info","message":"Attempting to run experiment","requestID":"3f7e781f126df5e9ede3204e1fe0f204"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb156f1f-57bd-4654-b55f-bf8418af3f7c"},"level":"info","message":"Attempting to book experiment","requestID":"3f7e781f126df5e9ede3204e1fe0f204"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb156f1f-57bd-4654-b55f-bf8418af3f7c"},"level":"info","message":"Successfully booked experiment","requestID":"3f7e781f126df5e9ede3204e1fe0f204"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e3e73720-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e3e75e30-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.64766,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e3e73720-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843137,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzN30.XtjE4niqh3Ygny6sDaAAcLGRqvaM5dByVFVcZS7Ah-k"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"e3e73720-242b-11f0-a4ab-3996a0934271","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46248","level":"info","msg":"Received request.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"client_addr":"127.0.0.1:46248","level":"info","msg":"Sent response.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.704424,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e3e75e30-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843137,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzN30.XtjE4niqh3Ygny6sDaAAcLGRqvaM5dByVFVcZS7Ah-k"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e3e75e30-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8c490d9-bdac-49d1-8adc-adc4bdc439ca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8c490d9-bdac-49d1-8adc-adc4bdc439ca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:34.835813740Z"}]},"request_id":"9b5d01ee-749c-46b8-bbc1-fe35d8809d52","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843137.4322917} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e3e73720-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4c775ad-d31f-44a9-a6e5-085f07a720fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4c775ad-d31f-44a9-a6e5-085f07a720fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:34.880001656Z"}]},"request_id":"d9a066f6-2f94-49f5-9533-de5b77a1dc9c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843137.4351678} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e3e73720-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca? 200 9ms","method":"GET","requestID":"e3e73720-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e3e75e30-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e3e75e30-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe? 200 10ms","method":"GET","requestID":"e3e75e30-242b-11f0-a4ab-3996a0934271","responseTime":10,"status":200,"url":"/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb156f1f-57bd-4654-b55f-bf8418af3f7c"},"level":"info","message":"Setting up experiment","requestID":"3f7e781f126df5e9ede3204e1fe0f204"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb156f1f-57bd-4654-b55f-bf8418af3f7c"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"3f7e781f126df5e9ede3204e1fe0f204"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb156f1f-57bd-4654-b55f-bf8418af3f7c"},"level":"info","message":"Successfully locked booking for experiment","requestID":"3f7e781f126df5e9ede3204e1fe0f204"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb156f1f-57bd-4654-b55f-bf8418af3f7c"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"3f7e781f126df5e9ede3204e1fe0f204"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb156f1f-57bd-4654-b55f-bf8418af3f7c"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"3f7e781f126df5e9ede3204e1fe0f204"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb156f1f-57bd-4654-b55f-bf8418af3f7c"},"level":"info","message":"Attempting to update booking for experiment","requestID":"3f7e781f126df5e9ede3204e1fe0f204"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb156f1f-57bd-4654-b55f-bf8418af3f7c"},"level":"info","message":"Successfully updated booking for experiment","requestID":"3f7e781f126df5e9ede3204e1fe0f204"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb156f1f-57bd-4654-b55f-bf8418af3f7c"},"level":"info","message":"Successfully set up experiment","requestID":"3f7e781f126df5e9ede3204e1fe0f204"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e3f20c90-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e3f233a0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e3f25ab0-242b-11f0-a4ab-3996a0934271"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb156f1f-57bd-4654-b55f-bf8418af3f7c"},"level":"info","message":"Successfully running experiment","requestID":"3f7e781f126df5e9ede3204e1fe0f204"} authorization-1 | {"client_addr":"127.0.0.1:46248","level":"info","msg":"Received request.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"client_addr":"127.0.0.1:46248","level":"info","msg":"Sent response.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.983925,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.5868,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e3f20c90-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843137,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzN30.XtjE4niqh3Ygny6sDaAAcLGRqvaM5dByVFVcZS7Ah-k"} authorization-1 | {"level":"info","message":"POST /authorize 200 25ms","method":"POST","requestID":"e3f20c90-242b-11f0-a4ab-3996a0934271","responseTime":25,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e3f233a0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843137,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzN30.XtjE4niqh3Ygny6sDaAAcLGRqvaM5dByVFVcZS7Ah-k"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"e3f233a0-242b-11f0-a4ab-3996a0934271","responseTime":26,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46248","level":"info","msg":"Received request.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8c490d9-bdac-49d1-8adc-adc4bdc439ca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ca11b5f7-73c9-4a67-b08b-2b225471f402","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843137.5262997} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8c490d9-bdac-49d1-8adc-adc4bdc439ca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8c490d9-bdac-49d1-8adc-adc4bdc439ca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:34.835813740Z"}]},"request_id":"19a1cd43-943b-4f8e-a0e6-7b82f00347a9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843137.5270612} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4c775ad-d31f-44a9-a6e5-085f07a720fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4c775ad-d31f-44a9-a6e5-085f07a720fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:34.880001656Z"}]},"request_id":"8a6d3d88-638f-4654-bdf5-2a126ea8d507","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843137.5278654} authorization-1 | {"client_addr":"127.0.0.1:46248","level":"info","msg":"Sent response.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.939988,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e3f25ab0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e3f25ab0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e3f20c90-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e3f233a0-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feb156f1f-57bd-4654-b55f-bf8418af3f7c#owner@http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feb156f1f-57bd-4654-b55f-bf8418af3f7c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"55a1c38f-c194-4906-b89b-5da7cf523858","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843137.531521} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"488437a2-3f84-48cd-a063-b117ce758087","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843137.5318081} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"3f7e781f126df5e9ede3204e1fe0f204","responseTime":12,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e3f25ab0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca/signaling 200 35ms","method":"POST","requestID":"e3f25ab0-242b-11f0-a4ab-3996a0934271","responseTime":35,"status":200,"url":"/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e3f233a0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe? 200 37ms","method":"GET","requestID":"e3f233a0-242b-11f0-a4ab-3996a0934271","responseTime":37,"status":200,"url":"/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e3f20c90-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca? 200 39ms","method":"GET","requestID":"e3f20c90-242b-11f0-a4ab-3996a0934271","responseTime":39,"status":200,"url":"/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e3f82710-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:46248","level":"info","msg":"Received request.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:37Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e3f89c40-242b-11f0-a4ab-3996a0934271"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/eb156f1f-57bd-4654-b55f-bf8418af3f7c","user":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"3f7e781f126df5e9ede3204e1fe0f204"} gateway-1 | {"time_local":"28/Apr/2025:12:25:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.195","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3f7e781f126df5e9ede3204e1fe0f204"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4c775ad-d31f-44a9-a6e5-085f07a720fe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ade654c8-b488-4cba-90ad-ada9e4a0140b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843137.5416353} experiment-1 | {"level":"info","message":"POST /experiments? 201 192ms","method":"POST","requestID":"3f7e781f126df5e9ede3204e1fe0f204","responseTime":192,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:46248","level":"info","msg":"Sent response.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.861501,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e3f82710-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e3f82710-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8c490d9-bdac-49d1-8adc-adc4bdc439ca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"240c23a2-9fea-4fed-b150-b84def9eefec","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843137.5692477} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.62506,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:37Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzN30.XtjE4niqh3Ygny6sDaAAcLGRqvaM5dByVFVcZS7Ah-k","level":"info","message":"auth send jwt","requestID":"3e7970a413555a612bb0ffbe63afcf7b"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"3e7970a413555a612bb0ffbe63afcf7b","responseTime":27,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e3f89c40-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3e7970a413555a612bb0ffbe63afcf7b"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"e3f89c40-242b-11f0-a4ab-3996a0934271","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.700228,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"3e7970a413555a612bb0ffbe63afcf7b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843137,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzN30.XtjE4niqh3Ygny6sDaAAcLGRqvaM5dByVFVcZS7Ah-k"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3e7970a413555a612bb0ffbe63afcf7b","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e3f82710-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8c490d9-bdac-49d1-8adc-adc4bdc439ca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8c490d9-bdac-49d1-8adc-adc4bdc439ca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:34.835813740Z"}]},"request_id":"7f6e2603-c719-43f6-813f-d61266c1889f","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843137.5792966} device-1 | {"level":"info","message":"POST /devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe/signaling 200 43ms","method":"POST","requestID":"e3f82710-242b-11f0-a4ab-3996a0934271","responseTime":43,"status":200,"url":"/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3e7970a413555a612bb0ffbe63afcf7b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e3f89c40-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca/signaling 200 42ms","method":"POST","requestID":"e3f89c40-242b-11f0-a4ab-3996a0934271","responseTime":42,"status":200,"url":"/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3e7970a413555a612bb0ffbe63afcf7b"} device-1 | {"level":"info","message":"GET /devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca? 200 14ms","method":"GET","requestID":"3e7970a413555a612bb0ffbe63afcf7b","responseTime":14,"status":200,"url":"/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca?"} gateway-1 | {"time_local":"28/Apr/2025:12:25:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3e7970a413555a612bb0ffbe63afcf7b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e3ff7a10-242b-11f0-a4ab-3996a0934271"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzN30.XtjE4niqh3Ygny6sDaAAcLGRqvaM5dByVFVcZS7Ah-k","level":"info","message":"auth send jwt","requestID":"9c40090a7202202938a615e6756cad86"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9c40090a7202202938a615e6756cad86","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9c40090a7202202938a615e6756cad86"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4c775ad-d31f-44a9-a6e5-085f07a720fe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b986a532-5236-4e69-afb1-62bfc5eec9d8","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843137.5897353} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.099797,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e3ff7a10-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e3ff7a10-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.843884,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"9c40090a7202202938a615e6756cad86","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843137,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzN30.XtjE4niqh3Ygny6sDaAAcLGRqvaM5dByVFVcZS7Ah-k"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"9c40090a7202202938a615e6756cad86","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e3ff7a10-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe/signaling 200 37ms","method":"POST","requestID":"e3ff7a10-242b-11f0-a4ab-3996a0934271","responseTime":37,"status":200,"url":"/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb156f1f-57bd-4654-b55f-bf8418af3f7c"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"3f7e781f126df5e9ede3204e1fe0f204"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb156f1f-57bd-4654-b55f-bf8418af3f7c"},"level":"info","message":"Building connection plan","requestID":"3f7e781f126df5e9ede3204e1fe0f204"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"4f7c80f6-4ac6-4cf0-a080-c07c2607a998"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"1ef4b214-0834-4516-92aa-92763316aebf"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"95a633dc-11a3-4114-9d65-1a8d34bd1f47"}]},"level":"info","message":"Built pairwise service configurations","requestID":"3f7e781f126df5e9ede3204e1fe0f204"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"3f7e781f126df5e9ede3204e1fe0f204"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4c775ad-d31f-44a9-a6e5-085f07a720fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4c775ad-d31f-44a9-a6e5-085f07a720fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:34.880001656Z"}]},"request_id":"f50e2b8d-14ea-4ae9-a486-db1a1dbb0e87","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843137.6236823} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9c40090a7202202938a615e6756cad86","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"e4056d80-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:37Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9c40090a7202202938a615e6756cad86"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.689163,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:37Z"} gateway-1 | {"time_local":"28/Apr/2025:12:25:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9c40090a7202202938a615e6756cad86"} device-1 | {"level":"info","message":"GET /devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe? 200 38ms","method":"GET","requestID":"9c40090a7202202938a615e6756cad86","responseTime":38,"status":200,"url":"/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe?"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e4056d80-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843137,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzN30.XtjE4niqh3Ygny6sDaAAcLGRqvaM5dByVFVcZS7Ah-k"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e4056d80-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","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%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"2931214f-2294-43df-b3a0-6d232bc441ce","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843137.6341684} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f27a5b8d-7117-424d-94d9-64d6ce8394df","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843137.634353} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"e4056d80-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"e4056d80-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"e4056d80-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/ec1c8262-7a19-447f-bc41-5d9b3801a778'","requestID":"e4056d80-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/ec1c8262-7a19-447f-bc41-5d9b3801a778'","requestID":"e4056d80-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"e4056d80-242b-11f0-a4ab-3996a0934271"} 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":"e4056d80-242b-11f0-a4ab-3996a0934271","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":"e4056d80-242b-11f0-a4ab-3996a0934271"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/ec1c8262-7a19-447f-bc41-5d9b3801a778","device":"a4c775ad-d31f-44a9-a6e5-085f07a720fe","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/ec1c8262-7a19-447f-bc41-5d9b3801a778","device":"a8c490d9-bdac-49d1-8adc-adc4bdc439ca","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb156f1f-57bd-4654-b55f-bf8418af3f7c"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"3f7e781f126df5e9ede3204e1fe0f204"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e4143a90-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8c490d9-bdac-49d1-8adc-adc4bdc439ca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1ffcbe05-b0b1-4fd4-a64c-e2e285977a64","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843137.7248085} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.403627,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e4143a90-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca","object_type":"device","rebac_allow":false,"scope_allow":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":"e4143a90-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e4143a90-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca/signaling 200 7ms","method":"POST","requestID":"e4143a90-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e4159a20-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4c775ad-d31f-44a9-a6e5-085f07a720fe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a0a54459-aa02-4825-97f1-19a013c60f7b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843137.733806} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.311307,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e4159a20-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe","object_type":"device","rebac_allow":false,"scope_allow":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":"e4159a20-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e4159a20-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe/signaling 200 31ms","method":"POST","requestID":"e4159a20-242b-11f0-a4ab-3996a0934271","responseTime":31,"status":200,"url":"/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe/signaling"} device-1 | {"device":"a4c775ad-d31f-44a9-a6e5-085f07a720fe","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"a4c775ad-d31f-44a9-a6e5-085f07a720fe","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"a8c490d9-bdac-49d1-8adc-adc4bdc439ca","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"a8c490d9-bdac-49d1-8adc-adc4bdc439ca","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 2940830657590174306 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:o+Gl\r\na=ice-pwd:Q2qnMXeQl/5v+owdolvkwKWs\r\na=ice-options:trickle\r\na=fingerprint:sha-256 7D:B3:7A:22:F5:23:61:D6:99:25:55:D2:A0:AC:BB:F2:12:72:CF:6A:35:37:B9:C3:88:F4:9F:3D:50:BE:EB:C7\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"a8c490d9-bdac-49d1-8adc-adc4bdc439ca","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 364283352660670253 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:ijrG\r\na=ice-pwd:6hcWTQ2tAr2S7JgwUWuFR8Xe\r\na=ice-options:trickle\r\na=fingerprint:sha-256 EA:35:F8:5B:99:69:6F:B4:27:2E:BE:BF:8D:B3:AE:71:E5:0D:71:62:8E:FF:C4:DF:B3:B8:C7:73:F8:9B:6B:1D\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"a4c775ad-d31f-44a9-a6e5-085f07a720fe","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:694870416 1 udp 2113937151 4854786e-b6ae-4f95-92cc-95a74467151d.local 42508 typ host generation 0 ufrag ijrG network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"a4c775ad-d31f-44a9-a6e5-085f07a720fe","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/a4c775ad-d31f-44a9-a6e5-085f07a720fe'"} device-1 | {"content":{"candidate":"candidate:1125609159 1 udp 2113937151 5cead3f9-f4c6-48cb-9102-18d2bc300462.local 47299 typ host generation 0 ufrag o+Gl network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"a8c490d9-bdac-49d1-8adc-adc4bdc439ca","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"a8c490d9-bdac-49d1-8adc-adc4bdc439ca","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/ec1c8262-7a19-447f-bc41-5d9b3801a778' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ec1c8262-7a19-447f-bc41-5d9b3801a778","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"a4c775ad-d31f-44a9-a6e5-085f07a720fe","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"a4c775ad-d31f-44a9-a6e5-085f07a720fe","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4ee43a9aec9c8cd8a3fa45e5cbd18745","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4ee43a9aec9c8cd8a3fa45e5cbd18745","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"a8c490d9-bdac-49d1-8adc-adc4bdc439ca","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"a8c490d9-bdac-49d1-8adc-adc4bdc439ca","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/ec1c8262-7a19-447f-bc41-5d9b3801a778"}}},"level":"info","message":"received a callback","requestID":"4ee43a9aec9c8cd8a3fa45e5cbd18745"} device-1 | {"device":"a4c775ad-d31f-44a9-a6e5-085f07a720fe","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"4ee43a9aec9c8cd8a3fa45e5cbd18745","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"4ee43a9aec9c8cd8a3fa45e5cbd18745"} device-1 | {"device":"a4c775ad-d31f-44a9-a6e5-085f07a720fe","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"ec1c8262-7a19-447f-bc41-5d9b3801a778","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"ec1c8262-7a19-447f-bc41-5d9b3801a778","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/ec1c8262-7a19-447f-bc41-5d9b3801a778' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ec1c8262-7a19-447f-bc41-5d9b3801a778","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f611a27332afa275c50b951c0be98f46","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f611a27332afa275c50b951c0be98f46","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/a4c775ad-d31f-44a9-a6e5-085f07a720fe"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/ec1c8262-7a19-447f-bc41-5d9b3801a778"}}},"level":"info","message":"received a callback","requestID":"f611a27332afa275c50b951c0be98f46"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"e430ea50-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fec1c8262-7a19-447f-bc41-5d9b3801a778","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2aa0d1b5-cd41-4c9e-bcc3-683b1cb1a1fc","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843137.9130857} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.155582,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ec1c8262-7a19-447f-bc41-5d9b3801a778","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e430ea50-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/ec1c8262-7a19-447f-bc41-5d9b3801a778","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":"e430ea50-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"e430ea50-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /peerconnections/ec1c8262-7a19-447f-bc41-5d9b3801a778 200 7ms","method":"GET","requestID":"e430ea50-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/peerconnections/ec1c8262-7a19-447f-bc41-5d9b3801a778"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzN30.XtjE4niqh3Ygny6sDaAAcLGRqvaM5dByVFVcZS7Ah-k","level":"info","message":"auth send jwt","requestID":"6a44700faaf8192f14bbdeafa3bc2970"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6a44700faaf8192f14bbdeafa3bc2970","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/eb156f1f-57bd-4654-b55f-bf8418af3f7c","requestID":"6a44700faaf8192f14bbdeafa3bc2970"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 49ms","method":"POST","requestID":"f611a27332afa275c50b951c0be98f46","responseTime":49,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e4381640-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.717895,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:37Z"} gateway-1 | {"time_local":"28/Apr/2025:12:25:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.076","http_referrer":"","http_user_agent":"node-fetch","requestID":"f611a27332afa275c50b951c0be98f46"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/eb156f1f-57bd-4654-b55f-bf8418af3f7c","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"6a44700faaf8192f14bbdeafa3bc2970","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/eb156f1f-57bd-4654-b55f-bf8418af3f7c","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843137,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzN30.XtjE4niqh3Ygny6sDaAAcLGRqvaM5dByVFVcZS7Ah-k"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6a44700faaf8192f14bbdeafa3bc2970","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4c775ad-d31f-44a9-a6e5-085f07a720fe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f4f83fa6-8ec9-42be-a5d0-b8a74bb66036","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843137.9602137} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.420803,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:37Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/eb156f1f-57bd-4654-b55f-bf8418af3f7c","requestID":"6a44700faaf8192f14bbdeafa3bc2970"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e4381640-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e4381640-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"28/Apr/2025:12:25:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/eb156f1f-57bd-4654-b55f-bf8418af3f7c HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6a44700faaf8192f14bbdeafa3bc2970"} experiment-1 | {"level":"info","message":"GET /experiments/eb156f1f-57bd-4654-b55f-bf8418af3f7c 200 9ms","method":"GET","requestID":"6a44700faaf8192f14bbdeafa3bc2970","responseTime":9,"status":200,"url":"/experiments/eb156f1f-57bd-4654-b55f-bf8418af3f7c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e4381640-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe/signaling 200 8ms","method":"POST","requestID":"e4381640-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzN30.XtjE4niqh3Ygny6sDaAAcLGRqvaM5dByVFVcZS7Ah-k","level":"info","message":"auth send jwt","requestID":"2d9d8d865b12739e60f088ad145ee3ca"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e4399ce0-242b-11f0-a4ab-3996a0934271"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2d9d8d865b12739e60f088ad145ee3ca","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/eb156f1f-57bd-4654-b55f-bf8418af3f7c","requestID":"2d9d8d865b12739e60f088ad145ee3ca"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"client_addr":"127.0.0.1:46248","level":"info","msg":"Received request.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"client_addr":"127.0.0.1:46248","level":"info","msg":"Sent response.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.611742,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/eb156f1f-57bd-4654-b55f-bf8418af3f7c","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"2d9d8d865b12739e60f088ad145ee3ca","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/eb156f1f-57bd-4654-b55f-bf8418af3f7c","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843137,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzN30.XtjE4niqh3Ygny6sDaAAcLGRqvaM5dByVFVcZS7Ah-k"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"2d9d8d865b12739e60f088ad145ee3ca","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8c490d9-bdac-49d1-8adc-adc4bdc439ca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b5e1caa7-fef7-4900-a0c5-c4797f8385d9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843137.9708817} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.498095,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e4399ce0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e4399ce0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e4399ce0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca/signaling 200 9ms","method":"POST","requestID":"e4399ce0-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb156f1f-57bd-4654-b55f-bf8418af3f7c"},"level":"info","message":"Attempting to finish experiment","requestID":"2d9d8d865b12739e60f088ad145ee3ca"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"e43b2380-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.992749,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:38Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ec1c8262-7a19-447f-bc41-5d9b3801a778","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e43b2380-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:http://localhost/peerconnections/ec1c8262-7a19-447f-bc41-5d9b3801a778","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843137,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzN30.XtjE4niqh3Ygny6sDaAAcLGRqvaM5dByVFVcZS7Ah-k"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e43b2380-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/ec1c8262-7a19-447f-bc41-5d9b3801a778","device":"a8c490d9-bdac-49d1-8adc-adc4bdc439ca","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/ec1c8262-7a19-447f-bc41-5d9b3801a778","device":"a4c775ad-d31f-44a9-a6e5-085f07a720fe","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/ec1c8262-7a19-447f-bc41-5d9b3801a778' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/ec1c8262-7a19-447f-bc41-5d9b3801a778' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ec1c8262-7a19-447f-bc41-5d9b3801a778","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fec1c8262-7a19-447f-bc41-5d9b3801a778': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fec1c8262-7a19-447f-bc41-5d9b3801a778","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"0f1e04db-d528-409d-b5e7-1d700e899493","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843138.0138752} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"77b9bff767109129046e27c78bfd8def","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"77b9bff767109129046e27c78bfd8def","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f9a2e4f0-91dd-4e05-9091-4648ae2c38b1","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843138.0142264} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8260f028e5db1a986c868368b71bc00a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/a4c775ad-d31f-44a9-a6e5-085f07a720fe"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ec1c8262-7a19-447f-bc41-5d9b3801a778"}}},"level":"info","message":"received a callback","requestID":"77b9bff767109129046e27c78bfd8def"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8260f028e5db1a986c868368b71bc00a","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"e43b2380-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ec1c8262-7a19-447f-bc41-5d9b3801a778"}}},"level":"info","message":"received a callback","requestID":"8260f028e5db1a986c868368b71bc00a"} device-1 | {"data":{"peerconnection":"ec1c8262-7a19-447f-bc41-5d9b3801a778","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"e43b2380-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"DELETE /peerconnections/ec1c8262-7a19-447f-bc41-5d9b3801a778 204 77ms","method":"DELETE","requestID":"e43b2380-242b-11f0-a4ab-3996a0934271","responseTime":77,"status":204,"url":"/peerconnections/ec1c8262-7a19-447f-bc41-5d9b3801a778"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb156f1f-57bd-4654-b55f-bf8418af3f7c"},"level":"info","message":"Successfully finished experiment","requestID":"2d9d8d865b12739e60f088ad145ee3ca"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e4492d40-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:38Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa4c775ad-d31f-44a9-a6e5-085f07a720fe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"929db37e-c851-4986-a468-a5e7e4c8903c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843138.0719364} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.371333,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e4492d40-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"e4492d40-242b-11f0-a4ab-3996a0934271","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e4492d40-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe/signaling 200 34ms","method":"POST","requestID":"e4492d40-242b-11f0-a4ab-3996a0934271","responseTime":34,"status":200,"url":"/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e44e8470-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feb156f1f-57bd-4654-b55f-bf8418af3f7c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feb156f1f-57bd-4654-b55f-bf8418af3f7c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"c357a16d-b1bb-4b66-8607-d70f413e8f04","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843138.1056318} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2bd231a5-5d02-470e-8977-d036cbe24c4e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843138.1058114} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:38Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"2d9d8d865b12739e60f088ad145ee3ca","responseTime":40,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8c490d9-bdac-49d1-8adc-adc4bdc439ca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"819a9dfb-8601-423e-a403-80d74255053a","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843138.1078107} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.505167,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e44e8470-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e44e8470-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e44e8470-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca/signaling 200 9ms","method":"POST","requestID":"e44e8470-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/eb156f1f-57bd-4654-b55f-bf8418af3f7c","requestID":"2d9d8d865b12739e60f088ad145ee3ca"} gateway-1 | {"time_local":"28/Apr/2025:12:25:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/eb156f1f-57bd-4654-b55f-bf8418af3f7c HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.238","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2d9d8d865b12739e60f088ad145ee3ca"} experiment-1 | {"level":"info","message":"DELETE /experiments/eb156f1f-57bd-4654-b55f-bf8418af3f7c 204 235ms","method":"DELETE","requestID":"2d9d8d865b12739e60f088ad145ee3ca","responseTime":235,"status":204,"url":"/experiments/eb156f1f-57bd-4654-b55f-bf8418af3f7c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 189ms","method":"POST","requestID":"77b9bff767109129046e27c78bfd8def","responseTime":189,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.192","http_referrer":"","http_user_agent":"node-fetch","requestID":"77b9bff767109129046e27c78bfd8def"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 188ms","method":"POST","requestID":"8260f028e5db1a986c868368b71bc00a","responseTime":188,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.193","http_referrer":"","http_user_agent":"node-fetch","requestID":"8260f028e5db1a986c868368b71bc00a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzOH0.9aUScuEohCwvikfDQ72cDcUhWqbdo_2wXlNs5uII_W8","level":"info","message":"auth send jwt","requestID":"ad94545e76c16a00fd3a3053a82ea06b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ad94545e76c16a00fd3a3053a82ea06b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"ad94545e76c16a00fd3a3053a82ea06b"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:38Z"} gateway-1 | {"time_local":"28/Apr/2025:12:25:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2337","request_time":"0.961","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9883d505c0e547ebc33e90c170df3c3f"} gateway-1 | {"time_local":"28/Apr/2025:12:25:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2339","request_time":"0.991","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"bfcac2ed690c6b7b1780af58a289cf72"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.891234,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"ad94545e76c16a00fd3a3053a82ea06b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843138,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzOH0.9aUScuEohCwvikfDQ72cDcUhWqbdo_2wXlNs5uII_W8"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a4c775ad-d31f-44a9-a6e5-085f07a720fe' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a8c490d9-bdac-49d1-8adc-adc4bdc439ca' closed"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ad94545e76c16a00fd3a3053a82ea06b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7aa101d1-ea33-4f6b-9c82-d6b904a87867","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"773c1ea1-e7d6-4ef3-9fe4-652e1ccc500a","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843138.248428} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ad94545e76c16a00fd3a3053a82ea06b","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"937a9017-221c-453d-b917-f84c738ea491","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843138.2521448} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"ad94545e76c16a00fd3a3053a82ea06b","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7aa101d1-ea33-4f6b-9c82-d6b904a87867","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"10c66ae8-7131-466a-8cdc-842027a7de9c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843138.2602928} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"276b0c20-954a-4bd3-9fb7-41c570475c5d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843138.2604394} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"ad94545e76c16a00fd3a3053a82ea06b","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7aa101d1-ea33-4f6b-9c82-d6b904a87867","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7aa101d1-ea33-4f6b-9c82-d6b904a87867","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:38.260256393Z"}]},"request_id":"def0f0df-ae5b-4892-9080-aab3d254c30e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843138.2636297} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ad94545e76c16a00fd3a3053a82ea06b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"ad94545e76c16a00fd3a3053a82ea06b"} gateway-1 | {"time_local":"28/Apr/2025:12:25:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"315","request_time":"0.086","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ad94545e76c16a00fd3a3053a82ea06b"} device-1 | {"level":"info","message":"POST /devices? 201 82ms","method":"POST","requestID":"ad94545e76c16a00fd3a3053a82ea06b","responseTime":82,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzOH0.9aUScuEohCwvikfDQ72cDcUhWqbdo_2wXlNs5uII_W8","level":"info","message":"auth send jwt","requestID":"f985deb16596fc511a9b22de9a97609a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f985deb16596fc511a9b22de9a97609a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f985deb16596fc511a9b22de9a97609a"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.735514,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"f985deb16596fc511a9b22de9a97609a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843138,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzEzOH0.9aUScuEohCwvikfDQ72cDcUhWqbdo_2wXlNs5uII_W8"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"f985deb16596fc511a9b22de9a97609a","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9205fb6-da22-4f0a-9cc3-c322f450e9af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1130a824-a106-417f-a9a8-aa3690e800bc","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843138.307047} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f985deb16596fc511a9b22de9a97609a","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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0d8219da-d7c5-43e4-bd09-a40233576410","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843138.310848} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"f985deb16596fc511a9b22de9a97609a","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9205fb6-da22-4f0a-9cc3-c322f450e9af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"4cc4fbf1-0fa0-4886-b171-0e24407cb1ec","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843138.3450637} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f7aa965b-f399-485c-902d-bfd4876d84b8","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843138.345176} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"f985deb16596fc511a9b22de9a97609a","responseTime":36,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9205fb6-da22-4f0a-9cc3-c322f450e9af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9205fb6-da22-4f0a-9cc3-c322f450e9af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:38.345039284Z"}]},"request_id":"72d593b2-37e7-4090-a3d5-4fbcffff787d","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843138.3480988} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f985deb16596fc511a9b22de9a97609a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f985deb16596fc511a9b22de9a97609a"} device-1 | {"level":"info","message":"POST /devices? 201 56ms","method":"POST","requestID":"f985deb16596fc511a9b22de9a97609a","responseTime":56,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"28/Apr/2025:12:25:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f985deb16596fc511a9b22de9a97609a"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9a99817ec80d6bab13aa8771bb41ab22","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9a99817ec80d6bab13aa8771bb41ab22","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:25:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af/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":"9a99817ec80d6bab13aa8771bb41ab22"} device-1 | {"level":"info","message":"OPTIONS /devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af/websocket 200 1ms","method":"OPTIONS","requestID":"9a99817ec80d6bab13aa8771bb41ab22","responseTime":1,"status":200,"url":"/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzE0MH0._O4KVw7zABIn874ywDytc1Y99wx7H1Ti72XTOyf81YI","level":"info","message":"auth send jwt","requestID":"86acee30927e88290c8f29e5efec9d30"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"86acee30927e88290c8f29e5efec9d30","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"86acee30927e88290c8f29e5efec9d30"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:40Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.731775,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:40Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"86acee30927e88290c8f29e5efec9d30","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843140,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzE0MH0._O4KVw7zABIn874ywDytc1Y99wx7H1Ti72XTOyf81YI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"86acee30927e88290c8f29e5efec9d30","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"86acee30927e88290c8f29e5efec9d30"} gateway-1 | {"time_local":"28/Apr/2025:12:25:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.023","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"86acee30927e88290c8f29e5efec9d30"} device-1 | {"level":"info","message":"POST /devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af/websocket 200 17ms","method":"POST","requestID":"86acee30927e88290c8f29e5efec9d30","responseTime":17,"status":200,"url":"/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzE0MH0._O4KVw7zABIn874ywDytc1Y99wx7H1Ti72XTOyf81YI","level":"info","message":"auth send jwt","requestID":"e7e9d15ab2fd79975f74cf97151b67e7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e7e9d15ab2fd79975f74cf97151b67e7","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e7e9d15ab2fd79975f74cf97151b67e7"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:40Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.641367,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e7e9d15ab2fd79975f74cf97151b67e7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843140,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzE0MH0._O4KVw7zABIn874ywDytc1Y99wx7H1Ti72XTOyf81YI"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"e7e9d15ab2fd79975f74cf97151b67e7","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9205fb6-da22-4f0a-9cc3-c322f450e9af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9205fb6-da22-4f0a-9cc3-c322f450e9af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:38.345039284Z"}]},"request_id":"4973961f-0204-4f93-846e-75caca3a9bc9","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843140.7329733} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e7e9d15ab2fd79975f74cf97151b67e7","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e7e9d15ab2fd79975f74cf97151b67e7"} gateway-1 | {"time_local":"28/Apr/2025:12:25:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af? 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":"e7e9d15ab2fd79975f74cf97151b67e7"} device-1 | {"level":"info","message":"GET /devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af? 200 11ms","method":"GET","requestID":"e7e9d15ab2fd79975f74cf97151b67e7","responseTime":11,"status":200,"url":"/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzE0MH0._O4KVw7zABIn874ywDytc1Y99wx7H1Ti72XTOyf81YI","level":"info","message":"auth send jwt","requestID":"e99c24a84bc398203b59d8a722efd5f6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e99c24a84bc398203b59d8a722efd5f6","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"e99c24a84bc398203b59d8a722efd5f6"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:40Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.669718,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e99c24a84bc398203b59d8a722efd5f6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843140,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzE0MH0._O4KVw7zABIn874ywDytc1Y99wx7H1Ti72XTOyf81YI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e99c24a84bc398203b59d8a722efd5f6","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c46cbb9e-abef-46cf-b997-303086f53236"},"level":"info","message":"Attempting to run experiment","requestID":"e99c24a84bc398203b59d8a722efd5f6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c46cbb9e-abef-46cf-b997-303086f53236"},"level":"info","message":"Attempting to book experiment","requestID":"e99c24a84bc398203b59d8a722efd5f6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c46cbb9e-abef-46cf-b997-303086f53236"},"level":"info","message":"Successfully booked experiment","requestID":"e99c24a84bc398203b59d8a722efd5f6"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e5e725d0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e5e74ce0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:40Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.651929,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:40Z"} authorization-1 | {"client_addr":"127.0.0.1:46248","level":"info","msg":"Received request.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7aa101d1-ea33-4f6b-9c82-d6b904a87867","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e5e725d0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/7aa101d1-ea33-4f6b-9c82-d6b904a87867","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843140,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzE0MH0._O4KVw7zABIn874ywDytc1Y99wx7H1Ti72XTOyf81YI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e5e725d0-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46248","level":"info","msg":"Sent response.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.657868,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e5e74ce0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843140,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzE0MH0._O4KVw7zABIn874ywDytc1Y99wx7H1Ti72XTOyf81YI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e5e74ce0-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7aa101d1-ea33-4f6b-9c82-d6b904a87867","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7aa101d1-ea33-4f6b-9c82-d6b904a87867","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:38.260256393Z"}]},"request_id":"752d316a-d6b5-4657-92b9-03cb89840481","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843140.7883646} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e5e725d0-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9205fb6-da22-4f0a-9cc3-c322f450e9af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9205fb6-da22-4f0a-9cc3-c322f450e9af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:38.345039284Z"}]},"request_id":"92018de2-b85a-4d64-9f86-7fd31e67fdeb","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843140.7896461} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e5e74ce0-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e5e725d0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/7aa101d1-ea33-4f6b-9c82-d6b904a87867? 200 12ms","method":"GET","requestID":"e5e725d0-242b-11f0-a4ab-3996a0934271","responseTime":12,"status":200,"url":"/devices/7aa101d1-ea33-4f6b-9c82-d6b904a87867?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e5e74ce0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af? 200 12ms","method":"GET","requestID":"e5e74ce0-242b-11f0-a4ab-3996a0934271","responseTime":12,"status":200,"url":"/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c46cbb9e-abef-46cf-b997-303086f53236"},"level":"info","message":"Setting up experiment","requestID":"e99c24a84bc398203b59d8a722efd5f6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c46cbb9e-abef-46cf-b997-303086f53236"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"e99c24a84bc398203b59d8a722efd5f6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c46cbb9e-abef-46cf-b997-303086f53236"},"level":"info","message":"Successfully locked booking for experiment","requestID":"e99c24a84bc398203b59d8a722efd5f6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c46cbb9e-abef-46cf-b997-303086f53236"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"e99c24a84bc398203b59d8a722efd5f6"} device-1 | {"level":"info","message":"postDevicesByDeviceId called","requestID":"e5ebb9b0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:46248","level":"info","msg":"Received request.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:40Z"} authorization-1 | {"client_addr":"127.0.0.1:46248","level":"info","msg":"Sent response.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.763138,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:40Z"} authorization-1 | {"action":"instantiate","level":"info","message":"opa_check","object":"device:http://localhost/devices/7aa101d1-ea33-4f6b-9c82-d6b904a87867","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e5ebb9b0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/7aa101d1-ea33-4f6b-9c82-d6b904a87867","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843140,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzE0MH0._O4KVw7zABIn874ywDytc1Y99wx7H1Ti72XTOyf81YI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e5ebb9b0-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"1f7b4eb1-6b9c-49ef-b6b3-0264929e2ad2","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843140.8564482} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a2b4451d-4024-4cfa-be6b-6269c12c278e","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843140.8811762} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"e5ebb9b0-242b-11f0-a4ab-3996a0934271","responseTime":35,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"registering changed-callback for device 'http://localhost/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1' to 'http://localhost/callbacks/experiment'","requestID":"e5ebb9b0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postDevicesByDeviceId succeeded","requestID":"e5ebb9b0-242b-11f0-a4ab-3996a0934271"} authentication-1 | {"level":"info","message":"POST /token 201 12ms","method":"POST","requestID":"e5f75270-242b-11f0-bf07-dfa5e9c7e95f","responseTime":12,"status":201,"url":"/token"} device-1 | {"level":"info","message":"POST /devices/7aa101d1-ea33-4f6b-9c82-d6b904a87867?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 92ms","method":"POST","requestID":"e5ebb9b0-242b-11f0-a4ab-3996a0934271","responseTime":92,"status":201,"url":"/devices/7aa101d1-ea33-4f6b-9c82-d6b904a87867?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c46cbb9e-abef-46cf-b997-303086f53236"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"e99c24a84bc398203b59d8a722efd5f6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c46cbb9e-abef-46cf-b997-303086f53236"},"level":"info","message":"Attempting to update booking for experiment","requestID":"e99c24a84bc398203b59d8a722efd5f6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c46cbb9e-abef-46cf-b997-303086f53236"},"level":"info","message":"Successfully updated booking for experiment","requestID":"e99c24a84bc398203b59d8a722efd5f6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c46cbb9e-abef-46cf-b997-303086f53236"},"level":"info","message":"Successfully set up experiment","requestID":"e99c24a84bc398203b59d8a722efd5f6"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e6061f80-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e6064690-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e6066da0-242b-11f0-a4ab-3996a0934271"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c46cbb9e-abef-46cf-b997-303086f53236"},"level":"info","message":"Successfully running experiment","requestID":"e99c24a84bc398203b59d8a722efd5f6"} authorization-1 | {"client_addr":"127.0.0.1:46248","level":"info","msg":"Received request.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:40Z"} authorization-1 | {"client_addr":"127.0.0.1:46248","level":"info","msg":"Sent response.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.687017,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:40Z"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Received request.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e6061f80-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843140,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzE0MH0._O4KVw7zABIn874ywDytc1Y99wx7H1Ti72XTOyf81YI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e6061f80-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36416","level":"info","msg":"Sent response.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.631903,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e6064690-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843140,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzE0MH0._O4KVw7zABIn874ywDytc1Y99wx7H1Ti72XTOyf81YI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e6064690-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46256","level":"info","msg":"Received request.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25: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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:40.856407721Z"}]},"request_id":"a9db4d72-d65d-403e-b918-5b724b4c75cc","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843140.9934237} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e6061f80-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9205fb6-da22-4f0a-9cc3-c322f450e9af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9205fb6-da22-4f0a-9cc3-c322f450e9af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:38.345039284Z"}]},"request_id":"822f01c1-af1b-4847-8185-67b76fd18686","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843140.9942353} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e6064690-242b-11f0-a4ab-3996a0934271","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f656e0f3-7b43-4b39-8e80-37ef72b9cea6","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843140.9951391} authorization-1 | {"client_addr":"127.0.0.1:46256","level":"info","msg":"Sent response.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.725887,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e6066da0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","object_type":"device","rebac_allow":false,"scope_allow":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":"e6066da0-242b-11f0-a4ab-3996a0934271","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc46cbb9e-abef-46cf-b997-303086f53236#owner@http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc46cbb9e-abef-46cf-b997-303086f53236","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"3432a2cc-bf68-44d1-b046-2d8f1f240a17","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843140.998379} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e6061f80-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9e4ab352-3c7d-4b6b-9e99-329e84404594","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843140.9986875} device-1 | {"level":"info","message":"GET /devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1? 200 15ms","method":"GET","requestID":"e6061f80-242b-11f0-a4ab-3996a0934271","responseTime":15,"status":200,"url":"/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e6064690-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"e99c24a84bc398203b59d8a722efd5f6","responseTime":10,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af? 200 15ms","method":"GET","requestID":"e6064690-242b-11f0-a4ab-3996a0934271","responseTime":15,"status":200,"url":"/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af?"} device-1 | {"data":{"error":"MissingEntityError","message":"Could not find websocket connection for device ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","method":"POST","stack":"MissingEntityError: Could not find websocket connection for device ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1\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/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"e6066da0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1/signaling 404 15ms","method":"POST","requestID":"e6066da0-242b-11f0-a4ab-3996a0934271","responseTime":15,"status":404,"url":"/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1/signaling"} experiment-1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"Could not find websocket connection for device ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1"},"status":404}},"level":"error","message":"Could not send status-update message","requestID":"e99c24a84bc398203b59d8a722efd5f6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e60cd640-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:46256","level":"info","msg":"Received request.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:41Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/c46cbb9e-abef-46cf-b997-303086f53236","user":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"e99c24a84bc398203b59d8a722efd5f6"} experiment-1 | {"level":"info","message":"POST /experiments? 201 289ms","method":"POST","requestID":"e99c24a84bc398203b59d8a722efd5f6","responseTime":289,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9205fb6-da22-4f0a-9cc3-c322f450e9af","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e45f6cec-15d5-4e6e-b650-d2071fd0292c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843141.0337222} authorization-1 | {"client_addr":"127.0.0.1:46256","level":"info","msg":"Sent response.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.638201,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:41Z"} gateway-1 | {"time_local":"28/Apr/2025:12:25:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1107","request_time":"0.293","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e99c24a84bc398203b59d8a722efd5f6"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e60cd640-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e60cd640-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e60cd640-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af/signaling 200 9ms","method":"POST","requestID":"e60cd640-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af/signaling"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"115fddf839194a5b6c2a12bb7331e6b4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"115fddf839194a5b6c2a12bb7331e6b4","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"28/Apr/2025:12:25:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1/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":"115fddf839194a5b6c2a12bb7331e6b4"} device-1 | {"level":"info","message":"OPTIONS /devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1/websocket 200 1ms","method":"OPTIONS","requestID":"115fddf839194a5b6c2a12bb7331e6b4","responseTime":1,"status":200,"url":"/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IkVMSGZnNHR4VWR4eFQzcUxCWkVMekZUYnh3VDNVU2VjNmJFY1N0ZFJiRHdlLXlXWGpuREFMeEhJU29mUG5KbVlfZVZqbk5SVDk1a1lxTno2SGtZalN3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzE0M30.3FCAMAzL_BQEP5qtBFxOmcWfqVgMrWsxdBNYXigMtgc","level":"info","message":"auth send jwt","requestID":"f31a3ab9fe964fd1430b11ecab162d1f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f31a3ab9fe964fd1430b11ecab162d1f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"f31a3ab9fe964fd1430b11ecab162d1f"} authorization-1 | {"client_addr":"127.0.0.1:46256","level":"info","msg":"Received request.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:43Z"} authorization-1 | {"client_addr":"127.0.0.1:46256","level":"info","msg":"Sent response.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.216418,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"f31a3ab9fe964fd1430b11ecab162d1f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","object_type":"device","payload":{"admin":true,"edgeToken":"ELHfg4txUdxxT3qLBZELzFTbxwT3USec6bEcStdRbDwe-yWXjnDALxHISofPnJmY_eVjnNRT95kYqNz6HkYjSw","iat":1745843143,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IkVMSGZnNHR4VWR4eFQzcUxCWkVMekZUYnh3VDNVU2VjNmJFY1N0ZFJiRHdlLXlXWGpuREFMeEhJU29mUG5KbVlfZVZqbk5SVDk1a1lxTno2SGtZalN3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzE0M30.3FCAMAzL_BQEP5qtBFxOmcWfqVgMrWsxdBNYXigMtgc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f31a3ab9fe964fd1430b11ecab162d1f","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"f31a3ab9fe964fd1430b11ecab162d1f"} gateway-1 | {"time_local":"28/Apr/2025:12:25:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1/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":"f31a3ab9fe964fd1430b11ecab162d1f"} device-1 | {"level":"info","message":"POST /devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1/websocket 200 19ms","method":"POST","requestID":"f31a3ab9fe964fd1430b11ecab162d1f","responseTime":19,"status":200,"url":"/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1/websocket"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9ae7a2eca39f1aa17204913a61085635","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9ae7a2eca39f1aa17204913a61085635","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/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1"},"eventType":"device-changed"}},"level":"info","message":"received a callback","requestID":"9ae7a2eca39f1aa17204913a61085635"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzE0M30.7oHDaAVd48uq6w5rjoyzXMzwM04IM54l_mRrTNVMFs4","level":"info","message":"auth send jwt","requestID":"a121bd2e1ac516572e9427aa2c3fc672"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a121bd2e1ac516572e9427aa2c3fc672","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a121bd2e1ac516572e9427aa2c3fc672"} authorization-1 | {"client_addr":"127.0.0.1:46256","level":"info","msg":"Received request.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:43Z"} authorization-1 | {"client_addr":"127.0.0.1:46256","level":"info","msg":"Sent response.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.657402,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"a121bd2e1ac516572e9427aa2c3fc672","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843143,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzE0M30.7oHDaAVd48uq6w5rjoyzXMzwM04IM54l_mRrTNVMFs4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a121bd2e1ac516572e9427aa2c3fc672","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:40.856407721Z"}]},"request_id":"596b8fbc-d270-42be-9346-464cce9c82c0","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843143.3039875} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a121bd2e1ac516572e9427aa2c3fc672","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 11ms","method":"POST","requestID":"9ae7a2eca39f1aa17204913a61085635","responseTime":11,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a121bd2e1ac516572e9427aa2c3fc672"} gateway-1 | {"time_local":"28/Apr/2025:12:25:43 +0000","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":"9ae7a2eca39f1aa17204913a61085635"} gateway-1 | {"time_local":"28/Apr/2025:12:25:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1? 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":"a121bd2e1ac516572e9427aa2c3fc672"} device-1 | {"level":"info","message":"GET /devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1? 200 10ms","method":"GET","requestID":"a121bd2e1ac516572e9427aa2c3fc672","responseTime":10,"status":200,"url":"/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzE0M30.7oHDaAVd48uq6w5rjoyzXMzwM04IM54l_mRrTNVMFs4","level":"info","message":"auth send jwt","requestID":"c9ecbddb29c5cf7af01246511f328ca3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c9ecbddb29c5cf7af01246511f328ca3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c9ecbddb29c5cf7af01246511f328ca3"} authorization-1 | {"client_addr":"127.0.0.1:46256","level":"info","msg":"Received request.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:43Z"} authorization-1 | {"client_addr":"127.0.0.1:46256","level":"info","msg":"Sent response.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.681124,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"c9ecbddb29c5cf7af01246511f328ca3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843143,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzE0M30.7oHDaAVd48uq6w5rjoyzXMzwM04IM54l_mRrTNVMFs4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"c9ecbddb29c5cf7af01246511f328ca3","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9205fb6-da22-4f0a-9cc3-c322f450e9af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9205fb6-da22-4f0a-9cc3-c322f450e9af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:38.345039284Z"}]},"request_id":"a9d60314-f446-47ec-b6c2-eed52eb00d96","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843143.3173125} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c9ecbddb29c5cf7af01246511f328ca3","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c9ecbddb29c5cf7af01246511f328ca3"} device-1 | {"level":"info","message":"GET /devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af? 200 9ms","method":"GET","requestID":"c9ecbddb29c5cf7af01246511f328ca3","responseTime":9,"status":200,"url":"/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af?"} gateway-1 | {"time_local":"28/Apr/2025:12:25:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c9ecbddb29c5cf7af01246511f328ca3"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e9083bf0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e9086300-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:46256","level":"info","msg":"Received request.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:46Z"} authorization-1 | {"client_addr":"127.0.0.1:46256","level":"info","msg":"Sent response.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.344706,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e9083bf0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843140,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzE0MH0._O4KVw7zABIn874ywDytc1Y99wx7H1Ti72XTOyf81YI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e9083bf0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37560","level":"info","msg":"Received request.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:46Z"} authorization-1 | {"client_addr":"127.0.0.1:37560","level":"info","msg":"Sent response.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.550959,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e9086300-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843140,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzE0MH0._O4KVw7zABIn874ywDytc1Y99wx7H1Ti72XTOyf81YI"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"e9086300-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:40.856407721Z"}]},"request_id":"7556e34d-cb13-460d-b39c-f8fa3ac41ffb","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843146.0421648} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e9083bf0-242b-11f0-a4ab-3996a0934271","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:50198","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9205fb6-da22-4f0a-9cc3-c322f450e9af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9205fb6-da22-4f0a-9cc3-c322f450e9af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"timestamp":"2025-04-28T12:25:38.345039284Z"}]},"request_id":"98a1e5ee-fdd2-4ea9-a811-7c1c45c95940","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843146.0448773} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e9083bf0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1? 200 14ms","method":"GET","requestID":"e9083bf0-242b-11f0-a4ab-3996a0934271","responseTime":14,"status":200,"url":"/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e9086300-242b-11f0-a4ab-3996a0934271","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e9086300-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af? 200 15ms","method":"GET","requestID":"e9086300-242b-11f0-a4ab-3996a0934271","responseTime":15,"status":200,"url":"/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e90b4930-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:37560","level":"info","msg":"Received request.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:46Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9c2dc99f-7bab-4542-9859-985ed0cc890a","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843146.0558321} authorization-1 | {"client_addr":"127.0.0.1:37560","level":"info","msg":"Sent response.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.77573,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e90b4930-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e90b4930-242b-11f0-a4ab-3996a0934271","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e90b4930-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1/signaling 200 10ms","method":"POST","requestID":"e90b4930-242b-11f0-a4ab-3996a0934271","responseTime":10,"status":200,"url":"/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e90d4500-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:37560","level":"info","msg":"Received request.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:46Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9205fb6-da22-4f0a-9cc3-c322f450e9af","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"666a2a36-0de8-4d7e-9379-194852c366f2","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843146.0699801} authorization-1 | {"client_addr":"127.0.0.1:37560","level":"info","msg":"Sent response.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.352534,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e90d4500-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af","object_type":"device","rebac_allow":false,"scope_allow":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":"e90d4500-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e90d4500-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af/signaling 200 12ms","method":"POST","requestID":"e90d4500-242b-11f0-a4ab-3996a0934271","responseTime":12,"status":200,"url":"/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c46cbb9e-abef-46cf-b997-303086f53236"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"e99c24a84bc398203b59d8a722efd5f6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c46cbb9e-abef-46cf-b997-303086f53236"},"level":"info","message":"Building connection plan","requestID":"e99c24a84bc398203b59d8a722efd5f6"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"69782f1c-a8fc-4899-a987-8a4369ed179a"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"0416feb1-66fc-4fbc-a086-5e9b05394c50"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"747fc69c-cc91-40f8-9962-212f1f0321ca"}]},"level":"info","message":"Built pairwise service configurations","requestID":"e99c24a84bc398203b59d8a722efd5f6"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"e99c24a84bc398203b59d8a722efd5f6"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"e90f8ef0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:37560","level":"info","msg":"Received request.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:46Z"} authorization-1 | {"client_addr":"127.0.0.1:37560","level":"info","msg":"Sent response.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.401428,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e90f8ef0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843140,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzE0MH0._O4KVw7zABIn874ywDytc1Y99wx7H1Ti72XTOyf81YI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e90f8ef0-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","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%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]}},"raw_response":{},"request_id":"06666937-7b9b-4398-a705-fd17f41212af","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843146.0944324} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4c6ff2d2-06d3-4c76-b4cb-b13ef6b9c2f1","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843146.094712} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"e90f8ef0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"e90f8ef0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"e90f8ef0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/4a4dbcf4-1e0b-4c57-a9db-13f9824517ee'","requestID":"e90f8ef0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/4a4dbcf4-1e0b-4c57-a9db-13f9824517ee'","requestID":"e90f8ef0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"e90f8ef0-242b-11f0-a4ab-3996a0934271"} 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":"e90f8ef0-242b-11f0-a4ab-3996a0934271","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":"e90f8ef0-242b-11f0-a4ab-3996a0934271"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/4a4dbcf4-1e0b-4c57-a9db-13f9824517ee","device":"f9205fb6-da22-4f0a-9cc3-c322f450e9af","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/4a4dbcf4-1e0b-4c57-a9db-13f9824517ee","device":"ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c46cbb9e-abef-46cf-b997-303086f53236"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"e99c24a84bc398203b59d8a722efd5f6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e9177e30-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:37560","level":"info","msg":"Received request.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:46Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"31539229-dd55-4b95-8a93-5550fd32afed","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843146.1355927} authorization-1 | {"client_addr":"127.0.0.1:37560","level":"info","msg":"Sent response.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.683453,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e9177e30-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e9177e30-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e9177e30-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1/signaling 200 10ms","method":"POST","requestID":"e9177e30-242b-11f0-a4ab-3996a0934271","responseTime":10,"status":200,"url":"/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e91952f0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:37560","level":"info","msg":"Received request.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:46Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9205fb6-da22-4f0a-9cc3-c322f450e9af","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"afcb64f2-b2ab-42ce-a5b1-ae3d8a37e0fd","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843146.147386} authorization-1 | {"client_addr":"127.0.0.1:37560","level":"info","msg":"Sent response.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.358263,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e91952f0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e91952f0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"f9205fb6-da22-4f0a-9cc3-c322f450e9af","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"f9205fb6-da22-4f0a-9cc3-c322f450e9af","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e91952f0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af/signaling 200 9ms","method":"POST","requestID":"e91952f0-242b-11f0-a4ab-3996a0934271","responseTime":9,"status":200,"url":"/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 4836152474229334993 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:IQSI\r\na=ice-pwd:S2I5DrIr+GE6xVDj2Q1hU13h\r\na=ice-options:trickle\r\na=fingerprint:sha-256 AF:17:AE:58:38:E4:5B:51:2E:30:DE:D4:55:5C:23:02:E4:72:5C:E2:28:5D:73:FE:99:25:A6:69:7F:91:3C:A3\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 6205142923120334828 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:iOmh\r\na=ice-pwd:mPTFz4CyKs9qRwPP1GQcBrz+\r\na=ice-options:trickle\r\na=fingerprint:sha-256 0A:33:EB:4F:E2:33:7B:2E:A9:ED:2C:3B:41:68:79:3A:1B:43:25:74:F6:1F:32:D4:E7:EE:F0:4C:FB:FA:06:2A\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"f9205fb6-da22-4f0a-9cc3-c322f450e9af","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2092959339 1 udp 2113937151 ba01fe2d-2749-426c-94b2-577586fb3a6c.local 34081 typ host generation 0 ufrag iOmh network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"f9205fb6-da22-4f0a-9cc3-c322f450e9af","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/f9205fb6-da22-4f0a-9cc3-c322f450e9af'"} device-1 | {"content":{"candidate":"candidate:2472764998 1 udp 2113937151 d2f0625e-2968-4324-8f2f-30a1ef0d76f2.local 60944 typ host generation 0 ufrag IQSI network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","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/4a4dbcf4-1e0b-4c57-a9db-13f9824517ee' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4a4dbcf4-1e0b-4c57-a9db-13f9824517ee","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"f9205fb6-da22-4f0a-9cc3-c322f450e9af","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"053f70e254db1c8c32d28ec89053cdc8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"053f70e254db1c8c32d28ec89053cdc8","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"f9205fb6-da22-4f0a-9cc3-c322f450e9af","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/4a4dbcf4-1e0b-4c57-a9db-13f9824517ee"}}},"level":"info","message":"received a callback","requestID":"053f70e254db1c8c32d28ec89053cdc8"} device-1 | {"device":"ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"f9205fb6-da22-4f0a-9cc3-c322f450e9af","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":"053f70e254db1c8c32d28ec89053cdc8","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"053f70e254db1c8c32d28ec89053cdc8"} device-1 | {"data":{"peerconnection":"4a4dbcf4-1e0b-4c57-a9db-13f9824517ee","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"f9205fb6-da22-4f0a-9cc3-c322f450e9af","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"4a4dbcf4-1e0b-4c57-a9db-13f9824517ee","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/4a4dbcf4-1e0b-4c57-a9db-13f9824517ee' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4a4dbcf4-1e0b-4c57-a9db-13f9824517ee","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ba59d061ffa66252616a86fc66b97a8a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ba59d061ffa66252616a86fc66b97a8a","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/f9205fb6-da22-4f0a-9cc3-c322f450e9af"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/4a4dbcf4-1e0b-4c57-a9db-13f9824517ee"}}},"level":"info","message":"received a callback","requestID":"ba59d061ffa66252616a86fc66b97a8a"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"e926c070-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:37560","level":"info","msg":"Received request.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:46Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4a4dbcf4-1e0b-4c57-a9db-13f9824517ee","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6616d4f7-8d7e-4e3a-8069-5657c108b242","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843146.259609} authorization-1 | {"client_addr":"127.0.0.1:37560","level":"info","msg":"Sent response.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.247924,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4a4dbcf4-1e0b-4c57-a9db-13f9824517ee","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e926c070-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/4a4dbcf4-1e0b-4c57-a9db-13f9824517ee","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":"e926c070-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"e926c070-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"GET /peerconnections/4a4dbcf4-1e0b-4c57-a9db-13f9824517ee 200 31ms","method":"GET","requestID":"e926c070-242b-11f0-a4ab-3996a0934271","responseTime":31,"status":200,"url":"/peerconnections/4a4dbcf4-1e0b-4c57-a9db-13f9824517ee"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 47ms","method":"POST","requestID":"ba59d061ffa66252616a86fc66b97a8a","responseTime":47,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch","requestID":"ba59d061ffa66252616a86fc66b97a8a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e92d7730-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:37560","level":"info","msg":"Received request.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:46Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9205fb6-da22-4f0a-9cc3-c322f450e9af","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a2cf8258-8b41-4e9f-9f23-b18a4fece553","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843146.2791731} authorization-1 | {"client_addr":"127.0.0.1:37560","level":"info","msg":"Sent response.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.808056,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:46Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzE0Nn0.8JXlaiR0lITBif8XagoDh8dyRJ-phV4HnJanlC78iZE","level":"info","message":"auth send jwt","requestID":"5833d02769a399a126cc646c8dce6804"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5833d02769a399a126cc646c8dce6804","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c46cbb9e-abef-46cf-b997-303086f53236","requestID":"5833d02769a399a126cc646c8dce6804"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e92d7730-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","method":"POST","requestID":"e92d7730-242b-11f0-a4ab-3996a0934271","responseTime":33,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37560","level":"info","msg":"Received request.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:46Z"} authorization-1 | {"client_addr":"127.0.0.1:37560","level":"info","msg":"Sent response.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.697113,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:46Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e92d7730-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af/signaling 200 36ms","method":"POST","requestID":"e92d7730-242b-11f0-a4ab-3996a0934271","responseTime":36,"status":200,"url":"/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c46cbb9e-abef-46cf-b997-303086f53236","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"5833d02769a399a126cc646c8dce6804","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/c46cbb9e-abef-46cf-b997-303086f53236","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843146,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzE0Nn0.8JXlaiR0lITBif8XagoDh8dyRJ-phV4HnJanlC78iZE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5833d02769a399a126cc646c8dce6804","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e9334390-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:37560","level":"info","msg":"Received request.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:46Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/c46cbb9e-abef-46cf-b997-303086f53236","requestID":"5833d02769a399a126cc646c8dce6804"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1acf2a54-efea-48a0-a2bf-670bf472c91b","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843146.3169684} gateway-1 | {"time_local":"28/Apr/2025:12:25:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c46cbb9e-abef-46cf-b997-303086f53236 HTTP/1.1","status": "200","body_bytes_sent":"1180","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5833d02769a399a126cc646c8dce6804"} experiment-1 | {"level":"info","message":"GET /experiments/c46cbb9e-abef-46cf-b997-303086f53236 200 12ms","method":"GET","requestID":"5833d02769a399a126cc646c8dce6804","responseTime":12,"status":200,"url":"/experiments/c46cbb9e-abef-46cf-b997-303086f53236"} authorization-1 | {"client_addr":"127.0.0.1:37560","level":"info","msg":"Sent response.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.347193,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e9334390-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","object_type":"device","rebac_allow":false,"scope_allow":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":"e9334390-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e9334390-242b-11f0-a4ab-3996a0934271"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzE0Nn0.8JXlaiR0lITBif8XagoDh8dyRJ-phV4HnJanlC78iZE","level":"info","message":"auth send jwt","requestID":"6cfa9e674b682feed22403d85ab17276"} device-1 | {"level":"info","message":"POST /devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1/signaling 200 7ms","method":"POST","requestID":"e9334390-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6cfa9e674b682feed22403d85ab17276","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/c46cbb9e-abef-46cf-b997-303086f53236","requestID":"6cfa9e674b682feed22403d85ab17276"} authorization-1 | {"client_addr":"127.0.0.1:37560","level":"info","msg":"Received request.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:46Z"} authorization-1 | {"client_addr":"127.0.0.1:37560","level":"info","msg":"Sent response.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.646468,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:46Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c46cbb9e-abef-46cf-b997-303086f53236","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"6cfa9e674b682feed22403d85ab17276","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"experiment:http://localhost/experiments/c46cbb9e-abef-46cf-b997-303086f53236","object_type":"experiment","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843146,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzE0Nn0.8JXlaiR0lITBif8XagoDh8dyRJ-phV4HnJanlC78iZE"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"6cfa9e674b682feed22403d85ab17276","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c46cbb9e-abef-46cf-b997-303086f53236"},"level":"info","message":"Attempting to finish experiment","requestID":"6cfa9e674b682feed22403d85ab17276"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"e9395e10-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:37560","level":"info","msg":"Received request.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:46Z"} authorization-1 | {"client_addr":"127.0.0.1:37560","level":"info","msg":"Sent response.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.688469,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:46Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4a4dbcf4-1e0b-4c57-a9db-13f9824517ee","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e9395e10-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"peerconnection:http://localhost/peerconnections/4a4dbcf4-1e0b-4c57-a9db-13f9824517ee","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843146,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzE0Nn0.8JXlaiR0lITBif8XagoDh8dyRJ-phV4HnJanlC78iZE"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"e9395e10-242b-11f0-a4ab-3996a0934271","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/4a4dbcf4-1e0b-4c57-a9db-13f9824517ee","device":"f9205fb6-da22-4f0a-9cc3-c322f450e9af","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/4a4dbcf4-1e0b-4c57-a9db-13f9824517ee","device":"ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","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/4a4dbcf4-1e0b-4c57-a9db-13f9824517ee' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/4a4dbcf4-1e0b-4c57-a9db-13f9824517ee' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4a4dbcf4-1e0b-4c57-a9db-13f9824517ee","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4a4dbcf4-1e0b-4c57-a9db-13f9824517ee': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4a4dbcf4-1e0b-4c57-a9db-13f9824517ee","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"8a0abc5e-4be0-4102-a737-b8ad235d72bd","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843146.366111} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ff971c94447b12af448708b98da4ce42","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2fabb8a2-de92-4ca8-9cc9-f02316243d7c","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843146.3664465} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ff971c94447b12af448708b98da4ce42","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"e9395e10-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3222bb6901f4c6349a11d519812346ff","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/f9205fb6-da22-4f0a-9cc3-c322f450e9af"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4a4dbcf4-1e0b-4c57-a9db-13f9824517ee"}}},"level":"info","message":"received a callback","requestID":"ff971c94447b12af448708b98da4ce42"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"3222bb6901f4c6349a11d519812346ff","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4a4dbcf4-1e0b-4c57-a9db-13f9824517ee"}}},"level":"info","message":"received a callback","requestID":"3222bb6901f4c6349a11d519812346ff"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"e9395e10-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"DELETE /peerconnections/4a4dbcf4-1e0b-4c57-a9db-13f9824517ee 204 56ms","method":"DELETE","requestID":"e9395e10-242b-11f0-a4ab-3996a0934271","responseTime":56,"status":204,"url":"/peerconnections/4a4dbcf4-1e0b-4c57-a9db-13f9824517ee"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af'"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId called","requestID":"e94210a0-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:37560","level":"info","msg":"Received request.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:46Z"} authorization-1 | {"client_addr":"127.0.0.1:37560","level":"info","msg":"Sent response.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.704587,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:46Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e94210a0-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c","object":"device:http://localhost/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","object_type":"device","payload":{"admin":true,"edgeToken":"PWUBSKgQn0ZvHwIJ-yF3TmmhB2FpdHceFIczXVJ25x_JO3wzAz6KHcBEma3SXBHWKwbTOKlwTjxdjwd2HWjr5w","iat":1745843146,"sub":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c","subject_alt":"http://localhost/users/eccd5fb7-f1ef-450c-99a7-254f77b5f56c"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VjY2Q1ZmI3LWYxZWYtNDUwYy05OWE3LTI1NGY3N2I1ZjU2YyIsImVkZ2VUb2tlbiI6IlBXVUJTS2dRbjBadkh3SUoteUYzVG1taEIyRnBkSGNlRkljelhWSjI1eF9KTzN3ekF6NktIY0JFbWEzU1hCSFdLd2JUT0tsd1RqeGRqd2QySFdqcjV3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTg0MzE0Nn0.8JXlaiR0lITBif8XagoDh8dyRJ-phV4HnJanlC78iZE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e94210a0-242b-11f0-a4ab-3996a0934271","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'device:http%3A%2F%2Flocalhost%2Fdevices%2Fac2d5474-fed6-48a8-a4e3-cb2d610ca6f1': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"c98d347a-e771-405b-a3fa-94aa2677e8cb","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843146.4203982} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0bd23757-218a-4013-b872-a36e3488cfa1","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843146.4205954} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"e94210a0-242b-11f0-a4ab-3996a0934271","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId succeeded","requestID":"e94210a0-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"DELETE /devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1 204 43ms","method":"DELETE","requestID":"e94210a0-242b-11f0-a4ab-3996a0934271","responseTime":43,"status":204,"url":"/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c46cbb9e-abef-46cf-b997-303086f53236"},"level":"info","message":"Successfully finished experiment","requestID":"6cfa9e674b682feed22403d85ab17276"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e94aea40-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"client_addr":"127.0.0.1:37560","level":"info","msg":"Received request.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:46Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9205fb6-da22-4f0a-9cc3-c322f450e9af","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0bbc34d9-871d-4238-acc0-2ad3f2e9c8b5","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843146.4722826} authorization-1 | {"client_addr":"127.0.0.1:37560","level":"info","msg":"Sent response.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.274833,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e94aea40-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"e94aea40-242b-11f0-a4ab-3996a0934271","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"e94aea40-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af/signaling 200 31ms","method":"POST","requestID":"e94aea40-242b-11f0-a4ab-3996a0934271","responseTime":31,"status":200,"url":"/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"e94ff350-242b-11f0-a4ab-3996a0934271"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc46cbb9e-abef-46cf-b997-303086f53236': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc46cbb9e-abef-46cf-b997-303086f53236","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Feccd5fb7-f1ef-450c-99a7-254f77b5f56c"}]},"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","writes":null},"raw_response":{},"request_id":"474e108a-53d2-4d1a-bf8d-4f2c1e8d5762","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843146.5025177} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3"},"raw_response":{"authorization_model":{"id":"01JSY5KSXQC546VTSQP7YKSRZX","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bc9d5610-49da-4551-b7f3-2b2233b64e23","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843146.502666} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"6cfa9e674b682feed22403d85ab17276","responseTime":37,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:37560","level":"info","msg":"Received request.","req_id":849,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-28T12:25:46Z"} authorization-1 | {"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:50198","raw_request":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","contextual_tuples":null,"store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e3a4552-f06b-4dae-b01d-3c92f8c98fa0","store_id":"01JSY5KSW2PTP8DJERCS1CGEY3","subsystem":"openfga","timestamp":1745843146.5055335} authorization-1 | {"client_addr":"127.0.0.1:37560","level":"info","msg":"Sent response.","req_id":849,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.109138,"resp_status":200,"subsystem":"opa","time":"2025-04-28T12:25:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","openfga":{"authorization_model_id":"01JSY5KSXQC546VTSQP7YKSRZX","store":"01JSY5KSW2PTP8DJERCS1CGEY3"},"requestID":"e94ff350-242b-11f0-a4ab-3996a0934271","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1","object_type":"device","rebac_allow":false,"scope_allow":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":"e94ff350-242b-11f0-a4ab-3996a0934271","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"error":"MissingEntityError","message":"The requested Device Overview does not exist in the database","method":"POST","stack":"MissingEntityError: The requested Device Overview does not exist in the database\n at DeviceOverviewRepository.findOneOrFail (file:///usr/local/lib/node_modules/@crosslab/service-common/lib/esm/database/abstractRepository.js:63:19)\n at async DeviceRepository.findOneOrFail (file:///usr/local/lib/node_modules/@crosslab/service-device/app/database/repositories/device.js:155:32)\n at async Object.postDevicesByDeviceIdSignaling (file:///usr/local/lib/node_modules/@crosslab/service-device/app/operations/devices/device/signaling/post.js:22:25)\n at async file:///usr/local/lib/node_modules/@crosslab/service-device/app/generated/routes.js:276:28","status":404,"url":"/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"e94ff350-242b-11f0-a4ab-3996a0934271"} device-1 | {"level":"info","message":"POST /devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1/signaling 404 7ms","method":"POST","requestID":"e94ff350-242b-11f0-a4ab-3996a0934271","responseTime":7,"status":404,"url":"/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1/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":"6cfa9e674b682feed22403d85ab17276"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/c46cbb9e-abef-46cf-b997-303086f53236","requestID":"6cfa9e674b682feed22403d85ab17276"} gateway-1 | {"time_local":"28/Apr/2025:12:25:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/c46cbb9e-abef-46cf-b997-303086f53236 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.289","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6cfa9e674b682feed22403d85ab17276"} experiment-1 | {"level":"info","message":"DELETE /experiments/c46cbb9e-abef-46cf-b997-303086f53236 204 286ms","method":"DELETE","requestID":"6cfa9e674b682feed22403d85ab17276","responseTime":286,"status":204,"url":"/experiments/c46cbb9e-abef-46cf-b997-303086f53236"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 242ms","method":"POST","requestID":"ff971c94447b12af448708b98da4ce42","responseTime":242,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.246","http_referrer":"","http_user_agent":"node-fetch","requestID":"ff971c94447b12af448708b98da4ce42"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 242ms","method":"POST","requestID":"3222bb6901f4c6349a11d519812346ff","responseTime":242,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.244","http_referrer":"","http_user_agent":"node-fetch","requestID":"3222bb6901f4c6349a11d519812346ff"} gateway-1 | {"time_local":"28/Apr/2025:12:25:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2098","request_time":"3.342","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1d5f244d18874764186ee7dd579e2f43"} gateway-1 | {"time_local":"28/Apr/2025:12:25:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2339","request_time":"5.911","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e620972db8a3aa5e0f0933945b068ee1"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1' closed"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"59c07eb0af3c6f3b134f0aa48321c4a4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"59c07eb0af3c6f3b134f0aa48321c4a4","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/ac2d5474-fed6-48a8-a4e3-cb2d610ca6f1"},"eventType":"device-changed"}},"level":"info","message":"received a callback","requestID":"59c07eb0af3c6f3b134f0aa48321c4a4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 410 2ms","method":"POST","requestID":"59c07eb0af3c6f3b134f0aa48321c4a4","responseTime":2,"status":410,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"28/Apr/2025:12:25:46 +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.006","http_referrer":"","http_user_agent":"node-fetch","requestID":"59c07eb0af3c6f3b134f0aa48321c4a4"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f9205fb6-da22-4f0a-9cc3-c322f450e9af' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"attempting to shutdown gracefully","subsystem":"openfga","timestamp":1745843151.7968664} authorization-1 | {"level":"info","msg":"Shutting down...","subsystem":"opa","time":"2025-04-28T12:25:51Z"} authorization-1 | {"level":"info","msg":"Server shutdown.","subsystem":"opa","time":"2025-04-28T12:25:51Z"} federation-1 exited with code 143 authentication-1 exited with code 143 experiment-1 exited with code 143 authorization-1 exited with code 0 device-1 exited with code 143 gateway-1 exited with code 0